Skip to content
This repository was archived by the owner on May 13, 2026. It is now read-only.

Commit 2634513

Browse files
committed
feat(spec): stand up standalone spec repo
1 parent dee7bf6 commit 2634513

17 files changed

Lines changed: 1883 additions & 14 deletions

.github/scripts/lint-narrative.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
ROOT="${1:-.}"
5+
6+
fail=0
7+
8+
if rg -n --hidden --glob '!node_modules' --glob '!dist' --glob '!.git' \
9+
--glob '!.github/scripts/lint-narrative.sh' \
10+
'replaces AGENTS.md|better than AGENTS.md|Vreko'\''s format|Vreko'\''s standard|AI memory|backup|Safety net|SnapBack|SnapBack-era' \
11+
"$ROOT"; then
12+
fail=1
13+
fi
14+
15+
if [ "$fail" -ne 0 ]; then
16+
echo "Narrative lint failed. See canon/narrative/canonical-narrative.md for approved vocabulary and banned terms."
17+
exit 1
18+
fi
19+
20+
echo "Narrative lint passed."

.github/workflows/conformance.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Conformance
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
conformance:
11+
name: Validate conformance corpus
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v4
16+
17+
- name: Setup Node.js
18+
uses: actions/setup-node@v4
19+
with:
20+
node-version: 20
21+
22+
- name: Install dependencies
23+
run: pnpm install --frozen-lockfile
24+
25+
- name: Validate schema is itself valid JSON Schema
26+
run: node --input-type=module -e "import { readFileSync } from 'node:fs'; import Ajv2020 from 'ajv/dist/2020.js'; import addFormats from 'ajv-formats'; const schema = JSON.parse(readFileSync('schema/v1.json', 'utf8')); const ajv = new Ajv2020({ strict: false }); addFormats(ajv); ajv.compile(schema); console.log('Schema compiled successfully');"
27+
28+
- name: Run conformance corpus tests
29+
run: pnpm conformance
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Narrative Lint
2+
3+
on:
4+
pull_request:
5+
branches: [main]
6+
paths:
7+
- "**/*.md"
8+
- "**/*.mdx"
9+
- "**/*.txt"
10+
- "**/*.html"
11+
- "**/*.tsx"
12+
- "**/*.jsx"
13+
- "README*"
14+
push:
15+
branches: [main]
16+
17+
jobs:
18+
lint-narrative:
19+
name: Check canonical narrative compliance
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
25+
- name: Make lint script executable
26+
run: chmod +x .github/scripts/lint-narrative.sh
27+
28+
- name: Run narrative lint
29+
run: ./.github/scripts/lint-narrative.sh .
30+
31+
- name: Comment on PR if violations found
32+
if: failure() && github.event_name == 'pull_request'
33+
uses: actions/github-script@v7
34+
with:
35+
script: |
36+
github.rest.issues.createComment({
37+
issue_number: context.issue.number,
38+
owner: context.repo.owner,
39+
repo: context.repo.repo,
40+
body: '❌ Narrative lint failed. See the canonical narrative document in canon for approved vocabulary and banned terms. Check the workflow logs for specific violations.'
41+
})

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
dist/
2+
node_modules/
3+
.vite/

CHANGELOG.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ All notable changes to `@workspacejson/spec` are documented here.
44

55
## Unreleased
66

7+
- Reframed the canonical workspace path as `.agents/agents.workspace.json` in the public spec metadata and README.
8+
- Updated repository metadata to point at the standalone `workspace-json/spec` repo.
9+
710
## 0.2.0 - 2026-05-08
811

912
### Added
@@ -15,9 +18,9 @@ All notable changes to `@workspacejson/spec` are documented here.
1518

1619
### Changed
1720

18-
- Canonical workspace file location is now the repository root (`agents.workspace.json`).
19-
The legacy path (`.agents/agents.workspace.json`) remains a valid read fallback but
20-
`generate` no longer creates `.agents/`.
21+
- Canonical workspace file location is now `.agents/agents.workspace.json`.
22+
The legacy root path (`agents.workspace.json`) remains a valid read fallback for v0.x
23+
but is no longer the canonical path.
2124
- `version` field accepts any string value; the reference implementation writes `"1"`.
2225

2326
## 0.1.1 - 2026-05-06

CODE_OF_CONDUCT.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Code of Conduct
2+
3+
This repository will follow a published code of conduct once the standalone spec repo is live.
4+
5+
## Next step
6+
7+
Add the final code of conduct text before the public repo opens for contribution.

CONTRIBUTING.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Contributing
2+
3+
Contributions to the workspace.json specification are welcome once the repo is split into its standalone home.
4+
5+
## Next step
6+
7+
Replace this placeholder with contribution workflow, RFC process, and review expectations.

GOVERNANCE.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Governance
2+
3+
This document will describe how decisions are made about the workspace.json standard.
4+
5+
## Current model
6+
7+
The current model is BDFL with a public RFC process.
8+
9+
## Next step
10+
11+
Replace this placeholder with the full governance document once the standalone spec repo is ready for review.

README.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
# @workspacejson/spec
22

3-
JSON Schema and TypeScript types for `agents.workspace.json`.
3+
JSON Schema and TypeScript types for `.agents/agents.workspace.json`.
44

5-
This package is published from the `agents-audit` workspace and is the canonical
6-
specification package for the workspace metadata format.
5+
This repository is the canonical specification source for the workspace metadata format.
76

87
## Install
98

@@ -27,5 +26,5 @@ import type { WorkspaceJson } from '@workspacejson/spec';
2726
## Notes
2827

2928
- The package publishes only schema, generated types, and package metadata
30-
- The schema is intended to be consumed by `agents-audit` and external tools that validate `agents.workspace.json`
31-
29+
- The schema is intended to be consumed by `agents-audit` and external tools that validate `.agents/agents.workspace.json`
30+
- Governance, security, and contribution policy live in the repo root

SECURITY.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Security Policy
2+
3+
Security disclosures for the workspace.json specification and related tooling will be handled here.
4+
5+
Please do not open public issues for security-sensitive reports.
6+
7+
## Next step
8+
9+
Replace this placeholder with the published security contact and disclosure process.

0 commit comments

Comments
 (0)