@orkestrel/scaffold 0.0.76 → 0.0.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/skills/orkestrel-dispatch/scripts/bench.js +204 -0
- package/dist/agents/skills/orkestrel-dispatch/scripts/brief.js +102 -0
- package/dist/agents/skills/orkestrel-dispatch/scripts/cite.js +95 -0
- package/dist/agents/skills/orkestrel-dispatch/scripts/helpers.js +207 -0
- package/dist/agents/skills/orkestrel-dispatch/scripts/launch.js +108 -0
- package/dist/agents/skills/orkestrel-dispatch/scripts/login.js +114 -0
- package/dist/agents/skills/orkestrel-dispatch/scripts/result.js +108 -0
- package/dist/agents/skills/orkestrel-dispatch/scripts/sweep.js +156 -0
- package/dist/agents/skills/orkestrel-harden/scripts/discovery.js +196 -0
- package/dist/agents/skills/orkestrel-publish/scripts/compare.js +206 -0
- package/dist/agents/skills/orkestrel-publish/scripts/pins.js +93 -0
- package/dist/agents/skills/orkestrel-publish/scripts/wave.js +458 -0
- package/dist/agents/skills/orkestrel-publish/scripts/window.js +188 -0
- package/dist/agents/skills/orkestrel-scout/scripts/map.js +300 -0
- package/dist/agents/templates/brief.md +55 -0
- package/dist/bin/main.js +4 -2
- package/dist/bin/main.js.map +1 -1
- package/dist/host/AGENTS.md +77 -135
- package/dist/host/agents/orchestration.md +147 -927
- package/dist/host/agents/skills/enterprise-bootstrap/SKILL.md +2 -2
- package/dist/host/agents/skills/enterprise-bootstrap/references/inspection.md +1 -1
- package/dist/host/agents/skills/{orkestrel-align-packages → orkestrel-align}/SKILL.md +6 -13
- package/dist/host/agents/skills/{orkestrel-align-packages → orkestrel-align}/agents/openai.yaml +1 -1
- package/dist/host/agents/skills/{orkestrel-align-packages → orkestrel-align}/references/fleet.md +5 -7
- package/dist/host/agents/skills/{orkestrel-build-application → orkestrel-build}/SKILL.md +11 -22
- package/dist/host/agents/skills/{orkestrel-build-application → orkestrel-build}/agents/openai.yaml +1 -1
- package/dist/host/agents/skills/orkestrel-debrief/SKILL.md +8 -16
- package/dist/host/agents/skills/orkestrel-debrief/references/instruction-audit.md +3 -3
- package/dist/host/agents/skills/orkestrel-debrief/references/retention.md +13 -13
- package/dist/host/agents/skills/orkestrel-dispatch/SKILL.md +61 -0
- package/dist/host/agents/skills/orkestrel-dispatch/agents/openai.yaml +4 -0
- package/dist/host/agents/skills/orkestrel-dispatch/references/bench.md +25 -0
- package/dist/host/agents/skills/orkestrel-dispatch/references/launch.md +32 -0
- package/dist/host/agents/skills/orkestrel-dispatch/scripts/bench.ts +259 -0
- package/dist/host/agents/skills/orkestrel-dispatch/scripts/brief.ts +110 -0
- package/dist/host/agents/skills/orkestrel-dispatch/scripts/cite.ts +115 -0
- package/dist/host/agents/skills/orkestrel-dispatch/scripts/helpers.ts +239 -0
- package/dist/host/agents/skills/orkestrel-dispatch/scripts/launch.ts +124 -0
- package/dist/host/agents/skills/orkestrel-dispatch/scripts/login.ts +123 -0
- package/dist/host/agents/skills/orkestrel-dispatch/scripts/result.ts +129 -0
- package/dist/host/agents/skills/orkestrel-dispatch/scripts/sweep.ts +157 -0
- package/dist/host/agents/skills/orkestrel-falsify/SKILL.md +42 -193
- package/dist/host/agents/skills/orkestrel-falsify/references/brief.md +38 -108
- package/dist/host/agents/skills/orkestrel-falsify/references/reconcile.md +35 -134
- package/dist/host/agents/skills/{orkestrel-harden-package → orkestrel-harden}/SKILL.md +10 -14
- package/dist/host/agents/skills/{orkestrel-harden-package → orkestrel-harden}/agents/openai.yaml +1 -1
- package/dist/host/agents/skills/{orkestrel-harden-package → orkestrel-harden}/references/hardening.md +3 -4
- package/dist/host/agents/skills/orkestrel-harden/scripts/discovery.ts +228 -0
- package/dist/host/agents/skills/{orkestrel-prove-journey → orkestrel-journey}/SKILL.md +15 -23
- package/dist/host/agents/skills/orkestrel-journey/agents/openai.yaml +4 -0
- package/dist/host/agents/skills/{orkestrel-prove-journey → orkestrel-journey}/references/captures.md +1 -1
- package/dist/host/agents/skills/{orkestrel-polish-surface → orkestrel-polish}/SKILL.md +25 -33
- package/dist/host/agents/skills/{orkestrel-polish-surface → orkestrel-polish}/agents/openai.yaml +1 -1
- package/dist/host/agents/skills/{orkestrel-polish-surface → orkestrel-polish}/references/capture-harness.md +3 -3
- package/dist/host/agents/skills/orkestrel-publish/SKILL.md +33 -20
- package/dist/host/agents/skills/orkestrel-publish/references/release.md +39 -0
- package/dist/host/agents/skills/orkestrel-publish/references/wave.md +22 -21
- package/dist/host/agents/skills/orkestrel-publish/references/window.md +27 -14
- package/dist/host/agents/skills/orkestrel-publish/scripts/compare.ts +220 -0
- package/dist/host/agents/skills/orkestrel-publish/scripts/pins.ts +114 -0
- package/dist/host/agents/skills/orkestrel-publish/scripts/wave.ts +629 -0
- package/dist/host/agents/skills/orkestrel-publish/scripts/window.ts +242 -0
- package/dist/host/agents/skills/orkestrel-scout/SKILL.md +28 -0
- package/dist/host/agents/skills/orkestrel-scout/agents/openai.yaml +4 -0
- package/dist/host/agents/skills/orkestrel-scout/scripts/map.ts +352 -0
- package/dist/host/agents/templates/brief.md +21 -142
- package/dist/host/agents/transports/claude-cli.md +21 -0
- package/dist/host/agents/transports/codex.md +38 -159
- package/dist/host/agents/transports/cursor.md +16 -65
- package/dist/host/claude/AGENTS.md +38 -0
- package/dist/host/claude/agents/analyst.md +14 -53
- package/dist/host/claude/agents/astra.md +26 -0
- package/dist/host/claude/agents/builder.md +14 -30
- package/dist/host/claude/agents/checker.md +13 -57
- package/dist/host/claude/agents/distiller.md +11 -26
- package/dist/host/claude/agents/grok.md +12 -35
- package/dist/host/claude/agents/opus.md +14 -30
- package/dist/host/claude/agents/planner.md +10 -44
- package/dist/host/claude/agents/researcher.md +11 -30
- package/dist/host/claude/agents/reviewer.md +11 -95
- package/dist/host/claude/agents/scout.md +9 -23
- package/dist/host/claude/agents/verifier.md +15 -33
- package/dist/host/claude/rules/documentation.md +8 -2
- package/dist/host/claude/rules/portability.md +7 -1
- package/dist/host/claude/rules/quality.md +36 -96
- package/dist/host/claude/rules/styles.md +3 -0
- package/dist/host/claude/rules/tests.md +6 -3
- package/dist/host/claude/rules/workspace.md +19 -15
- package/dist/host/claude/rules/writing.md +57 -108
- package/dist/host/claude/settings.json +5 -3
- package/dist/host/claude/skills/enterprise-bootstrap/SKILL.md +1 -1
- package/dist/host/claude/skills/{orkestrel-align-packages → orkestrel-align}/SKILL.md +2 -2
- package/dist/host/claude/skills/{orkestrel-build-application → orkestrel-build}/SKILL.md +2 -2
- package/dist/host/claude/skills/orkestrel-dispatch/SKILL.md +11 -0
- package/dist/host/claude/skills/orkestrel-falsify/SKILL.md +2 -1
- package/dist/host/claude/skills/{orkestrel-harden-package → orkestrel-harden}/SKILL.md +2 -2
- package/dist/host/claude/skills/{orkestrel-prove-journey → orkestrel-journey}/SKILL.md +2 -2
- package/dist/host/claude/skills/orkestrel-polish/SKILL.md +12 -0
- package/dist/host/claude/skills/orkestrel-scout/SKILL.md +11 -0
- package/dist/host/codex/agents/analyst.toml +15 -32
- package/dist/host/codex/agents/astra.toml +25 -0
- package/dist/host/codex/agents/builder.toml +13 -20
- package/dist/host/codex/agents/checker.toml +13 -27
- package/dist/host/codex/agents/distiller.toml +9 -22
- package/dist/host/codex/agents/grok.toml +11 -30
- package/dist/host/codex/agents/opus.toml +14 -22
- package/dist/host/codex/agents/orkestrel.toml +1 -1
- package/dist/host/codex/agents/planner.toml +11 -28
- package/dist/host/codex/agents/researcher.toml +10 -22
- package/dist/host/codex/agents/reviewer.toml +11 -27
- package/dist/host/codex/agents/scout.toml +11 -17
- package/dist/host/codex/agents/verifier.toml +16 -12
- package/dist/host/codex/config.toml +20 -23
- package/dist/host/cursor/mcp.json +0 -4
- package/dist/host/cursor/rules/orchestration.mdc +12 -20
- package/dist/host/dotfiles/mcp.json +0 -4
- package/dist/host/dotfiles/oxlintrc.json +7 -0
- package/dist/host/guides/probe.md +9 -9
- package/dist/host/guides/scaffold.md +117 -71
- package/dist/host/guides/test.md +1 -1
- package/dist/host/manifest.json +322 -185
- package/dist/host/scripts/codex.sh +2 -2
- package/dist/host/tests/config.test.ts +68 -46
- package/dist/host/tests/policy.test.ts +1 -5
- package/dist/host/tests/setupPolicy.ts +179 -4
- package/dist/src/core/index.cjs +255 -84
- package/dist/src/core/index.cjs.map +1 -1
- package/dist/src/core/index.d.cts +94 -29
- package/dist/src/core/index.d.ts +94 -29
- package/dist/src/core/index.js +253 -85
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/server/index.cjs +55 -9
- package/dist/src/server/index.cjs.map +1 -1
- package/dist/src/server/index.d.cts +29 -4
- package/dist/src/server/index.d.ts +29 -4
- package/dist/src/server/index.js +56 -11
- package/dist/src/server/index.js.map +1 -1
- package/package.json +15 -11
- package/dist/host/CLAUDE.md +0 -61
- package/dist/host/agents/skills/orkestrel-prove-journey/agents/openai.yaml +0 -4
- package/dist/host/agents/transports/claude.md +0 -49
- package/dist/host/claude/agents/application.md +0 -36
- package/dist/host/claude/agents/sol.md +0 -61
- package/dist/host/claude/skills/orkestrel-polish-surface/SKILL.md +0 -12
- package/dist/host/codex/agents/application.toml +0 -25
- package/dist/host/codex/agents/sol.toml +0 -19
- /package/dist/host/agents/skills/{orkestrel-align-packages → orkestrel-align}/references/integration.md +0 -0
- /package/dist/host/agents/skills/{orkestrel-harden-package → orkestrel-harden}/references/centralization.md +0 -0
- /package/dist/host/agents/skills/{orkestrel-harden-package → orkestrel-harden}/references/contract.md +0 -0
- /package/dist/host/agents/skills/{orkestrel-harden-package → orkestrel-harden}/references/research.md +0 -0
- /package/dist/host/agents/skills/{orkestrel-prove-journey → orkestrel-journey}/references/decide.md +0 -0
- /package/dist/host/agents/skills/{orkestrel-prove-journey → orkestrel-journey}/references/layer.md +0 -0
- /package/dist/host/agents/skills/{orkestrel-prove-journey → orkestrel-journey}/references/statechart.md +0 -0
- /package/dist/host/agents/skills/{orkestrel-prove-journey → orkestrel-journey}/references/styles.md +0 -0
|
@@ -58,6 +58,7 @@ Define aliases in `tsconfig.json` first. `vite.config.ts` derives from `compiler
|
|
|
58
58
|
- `tsconfig.json`: shared compiler options, all-tree types, and path aliases.
|
|
59
59
|
- `vite.config.ts`: shared builds, test projects, environment loading/mapping, and aliases.
|
|
60
60
|
- `*/types.ts`: public API contracts.
|
|
61
|
+
- `configs/agents/tsconfig.skills.json`: the scoped typecheck of the skill scripts; its presence selects the `skills` blueprint fact.
|
|
61
62
|
- `configs/src/` and `configs/app/`: thin per-target wrappers, including optional
|
|
62
63
|
`configs/src/*bin*` files. Shared logic remains in root configs.
|
|
63
64
|
- `configs/helpers.ts`, `configs/browsers.ts`, and `configs/policy.ts`: the only permitted leaves
|
|
@@ -128,18 +129,19 @@ environment axis is one project per src/app axis × environment:
|
|
|
128
129
|
The workspace-proof axis is cross-cutting. Each proof covers the whole workspace rather than
|
|
129
130
|
one environment, so each is its own project:
|
|
130
131
|
|
|
131
|
-
| Project | Files | Proves
|
|
132
|
-
| ------------------- | -------------------------------------------------------------- |
|
|
133
|
-
| `policy` | `tests/policy.test.ts` | The path- and text-shaped policy laws: mirrors, suppressions, the rule map, filenames, manifest scripts, skills, and bridges
|
|
134
|
-
| `config` | `tests/config.test.ts` | Root configuration resolves its aliases, projects, and outputs
|
|
135
|
-
| `setup` | `tests/setup*.test.ts`, excluding `tests/setupBrowser.test.ts` | Prove root setup behavior in Node with `setup.ts`.
|
|
136
|
-
| `setup:browser` | `tests/setupBrowser.test.ts` | Prove browser setup behavior in Playwright Chromium with `setup.ts` and `setupBrowser.ts`.
|
|
137
|
-
| `journey:<variant>` | `tests/app/browser/integration.test.ts` | Drive the browser application at the declared variant viewport in Playwright Chromium with `setup.ts` and `setupBrowser.ts`.
|
|
138
|
-
| `guides` | `tests/guides.test.ts` | Every documented API exists, every public API is documented, every compared summary, example, and pitch equals its source, and every executable fence returns what the guide says it returns
|
|
139
|
-
| `conformance` | `tests/conformance.test.ts` | Where this package drifts from the official tooling it tracks
|
|
140
|
-
| `
|
|
141
|
-
| `
|
|
142
|
-
| `
|
|
132
|
+
| Project | Files | Proves | Gate |
|
|
133
|
+
| ------------------- | -------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- |
|
|
134
|
+
| `policy` | `tests/policy.test.ts` | The path- and text-shaped policy laws: mirrors, suppressions, the rule map, filenames, manifest scripts, skills, and bridges | `test` |
|
|
135
|
+
| `config` | `tests/config.test.ts` | Root configuration resolves its aliases, projects, and outputs | `test` |
|
|
136
|
+
| `setup` | `tests/setup*.test.ts`, excluding `tests/setupBrowser.test.ts` | Prove root setup behavior in Node with `setup.ts`. | `test` |
|
|
137
|
+
| `setup:browser` | `tests/setupBrowser.test.ts` | Prove browser setup behavior in Playwright Chromium with `setup.ts` and `setupBrowser.ts`. | `test` |
|
|
138
|
+
| `journey:<variant>` | `tests/app/browser/integration.test.ts` | Drive the browser application at the declared variant viewport in Playwright Chromium with `setup.ts` and `setupBrowser.ts`. | `test` through `test:journey` |
|
|
139
|
+
| `guides` | `tests/guides.test.ts` | Every documented API exists, every public API is documented, every compared summary, example, and pitch equals its source, and every executable fence returns what the guide says it returns | `test` |
|
|
140
|
+
| `conformance` | `tests/conformance.test.ts` | Where this package drifts from the official tooling it tracks | `test` |
|
|
141
|
+
| `skills` | `tests/agents/**/*.test.ts` | Each skill script under `.agents/skills/*/scripts/` does what its `SKILL.md` states, driven as a child process against a scratch fixture from its mirrored proof; `configs/agents/tsconfig.skills.json` selects the project | `test` |
|
|
142
|
+
| `distribution` | `tests/distribution.test.ts` | The packed package installs and resolves through its public exports | `prepublishOnly`; absent when private |
|
|
143
|
+
| `integration` | `tests/integration.test.ts` | The package's features work together end to end across environments | `test` |
|
|
144
|
+
| `service` | `tests/service/**/*.test.ts` | The live external services this package drives, driven for real | `prepublishOnly`; `test` when private |
|
|
143
145
|
|
|
144
146
|
- Define the Node `setup` project only when a root file matches `tests/setup*.test.ts`,
|
|
145
147
|
exact-case, other than `tests/setupBrowser.test.ts`. Include those matching files and exclude
|
|
@@ -164,13 +166,13 @@ parallelism in `service`. In a `private: true` workspace, never declare `prepubl
|
|
|
164
166
|
`distribution`, reach `service` from `test`, and retain the service project's isolated
|
|
165
167
|
configuration.
|
|
166
168
|
|
|
167
|
-
One project sits on neither axis. `probe` includes `tmp/
|
|
169
|
+
One project sits on neither axis. `probe` includes `tmp/probes/**/*.test.ts` so an agent can run a
|
|
168
170
|
throwaway instrument against real sources, aliases and setup. Declare no proof there. Keep the
|
|
169
171
|
project composed in the root configuration rather than declared as a path string. The `probe` MCP
|
|
170
|
-
server arms through it — its arming specifications live under the `tmp/
|
|
172
|
+
server arms through it — its arming specifications live under the `tmp/probes/` directory and infer
|
|
171
173
|
this project — so a workspace that removes the project, or declares it as a path string, fails the
|
|
172
174
|
server's arming, and an unarmed server refuses every `prove` call. The `test:bench` script runs the
|
|
173
|
-
same project in benchmark mode, which collects every test file under the `tmp/
|
|
175
|
+
same project in benchmark mode, which collects every test file under the `tmp/probes/` directory and
|
|
174
176
|
the `tests/` tree while refusing every ordinary test case. Every test script names its project and
|
|
175
177
|
the `test:bench` script joins no chain, so no gate runs either mode; the project's directory is
|
|
176
178
|
ignored by git; and `.claude/rules/tests.md` governs what may live there.
|
|
@@ -204,6 +206,8 @@ then runs the configured scoped checks that prove environment isolation.
|
|
|
204
206
|
- `check:src` mirrors configured `src:*` test projects; optional `src:bin` is its
|
|
205
207
|
own scope.
|
|
206
208
|
- `check:app` mirrors configured `app:*` projects.
|
|
209
|
+
- `check:skills` typechecks `.agents/skills/*/scripts/*.ts` through `configs/agents/tsconfig.skills.json` wherever that wrapper is present: the root project's wildcard never enters a dot-prefixed directory, so the scripts need their own scope.
|
|
210
|
+
- The `build:skills` script emits a `.js` twin of every `.agents/skills/*/scripts/*.ts` script into the `dist/agents/skills/` tree through the same wrapper, rewrites each relative import to `.js`, and copies `.agents/templates/brief.md` into the `dist/agents/templates/` directory; the `build` chain runs it after `build:host`, and `dist/agents` ships in the package.
|
|
207
211
|
- During development, run the narrowest granular scope that covers the change.
|
|
208
212
|
- Lint is a separate complementary gate; neither lint nor root checking replaces
|
|
209
213
|
environment-isolation checks.
|
|
@@ -1,89 +1,66 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
knows, thinks, wants, or sees.
|
|
19
|
-
- Use the passive voice only where naming the actor adds blame and nothing else, such as a defect
|
|
20
|
-
count. Name the actor wherever the reader needs it.
|
|
21
|
-
- Use negative contractions (`don't`, `isn't`, `can't`) in a reply or a guide. Do not use them in an
|
|
22
|
-
instruction file.
|
|
23
|
-
|
|
24
|
-
## Sentence and paragraph order
|
|
25
|
-
|
|
26
|
-
- Put the condition, the goal, or the location before the instruction, so a reader the instruction
|
|
27
|
-
does not apply to stops at the first clause. Put the result or the reason after it. This governs a
|
|
28
|
-
sentence, not a document: a report still opens with its finding.
|
|
29
|
-
- Put the key point in the first sentence of every paragraph and every list item, not only in the
|
|
30
|
-
opening of the reply or the section.
|
|
31
|
-
- Keep the helper words `that`, `then`, `of`, `a`, and `the`. Do not drop one for brevity.
|
|
32
|
-
- Name the noun after `this`, `these`, or `it` wherever the reader could attach the pronoun to
|
|
33
|
-
another referent.
|
|
34
|
-
- State what the reader can do. Do not write a double negative.
|
|
1
|
+
# Writing rules
|
|
2
|
+
|
|
3
|
+
`AGENTS.md` § Writing governs every reply. This file adds what developer prose, comments, and instruction files decide. Write prose after the code works, and keep it short.
|
|
4
|
+
|
|
5
|
+
## Voice
|
|
6
|
+
|
|
7
|
+
- Write `must` for a requirement, `can` for an option, `might` for a possibility, and the imperative for a recommendation. Never `should`, never `We recommend`.
|
|
8
|
+
- Address the developer as `you`. Make the software component the subject; it reports, returns, detects, or refuses, and never knows, thinks, wants, or sees. Never `we`, `our`, or `let's` about agent work.
|
|
9
|
+
- Use the passive voice only where naming the actor adds nothing.
|
|
10
|
+
- Use negative contractions in a reply or a guide, never in an instruction file.
|
|
11
|
+
|
|
12
|
+
## Order
|
|
13
|
+
|
|
14
|
+
- Put the condition, goal, or location before the instruction. A report still opens with its finding.
|
|
15
|
+
- Put the key point in the first sentence of every paragraph and list item.
|
|
16
|
+
- Keep `that`, `then`, `of`, `a`, and `the`. Name the noun after `this`, `these`, or `it` when the referent is unclear.
|
|
17
|
+
- State what the reader can do; no double negatives.
|
|
35
18
|
|
|
36
19
|
## Claims and time
|
|
37
20
|
|
|
38
|
-
- Claim only what the reader can check. Never
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
- Put a code token in backticks and follow it with a noun: the `parse` method, the `vite.config.ts`
|
|
49
|
-
file, the `--check` flag. Never inflect, pluralize, or possessivize a code token, and never use one
|
|
50
|
-
as an English verb.
|
|
51
|
-
- Point to other material with `preceding`, `following`, `earlier`, or `later`, never with `above` or
|
|
52
|
-
`below`. Use `earlier` and `later` for a version range too.
|
|
53
|
-
- Write link text as the destination's title or a descriptive phrase, introduced by `see`. Never
|
|
54
|
-
write `here`, `this document`, or a bare URL in prose.
|
|
55
|
-
- Paraphrase third-party content and link its source; never paste it into prose you author. A
|
|
56
|
-
vendored mirror is fetched bytes rather than authored prose, and `.claude/rules/documentation.md`
|
|
57
|
-
governs it.
|
|
21
|
+
- Claim only what the reader can check. Never `ensure`, `guarantee`, a superlative, or an effort adjective as a claim about behavior; cite the run behind every number.
|
|
22
|
+
- Present tense for what exists. Never `currently`, `now`, `new`, `latest`, or `soon`; give a version or a date.
|
|
23
|
+
- Recommend one path. Rule on every option you list.
|
|
24
|
+
|
|
25
|
+
## Tokens, references, links
|
|
26
|
+
|
|
27
|
+
- Put a code token in backticks and follow it with a noun. Never inflect or pluralize a code token or use it as a verb.
|
|
28
|
+
- Point with `preceding`, `following`, `earlier`, or `later`, never `above` or `below`.
|
|
29
|
+
- Link text is the destination's title or a descriptive phrase, introduced by `see`. No `here`, no bare URL in prose.
|
|
30
|
+
- Paraphrase third-party content and link it. A vendored mirror is fetched bytes and is exempt.
|
|
58
31
|
|
|
59
32
|
## Structure
|
|
60
33
|
|
|
61
|
-
- Keep a required fact in the main flow
|
|
62
|
-
|
|
63
|
-
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
-
|
|
34
|
+
- Keep a required fact in the main flow; a note carries only what the reader can skip.
|
|
35
|
+
- In a reply or a guide, introduce every list, table, and fence with a sentence. A rule file's list sits bare under its heading. Number a list only where order matters.
|
|
36
|
+
- Headings in sentence case: verb first for a task, noun phrase for a concept.
|
|
37
|
+
|
|
38
|
+
## Examples, numbers, abbreviations
|
|
39
|
+
|
|
40
|
+
- Build examples from fictional descriptive data; placeholders in `UPPER_SNAKE_CASE`, explained on first use. Never `foo`, `bar`, or `baz`.
|
|
41
|
+
- Expand an abbreviation the reader may not know on first use; skip `API`, `CLI`, `JSON`, `URL`, and file formats.
|
|
42
|
+
- Numerals for technical quantities, versions, and measurements. Dates as `YYYY-MM-DD`. Serial comma. Mark omitted code with a comment in the sample's language.
|
|
43
|
+
|
|
44
|
+
## Code comments
|
|
45
|
+
|
|
46
|
+
- A comment states why, never what the code shows. Delete a comment that restates the line. Do not narrate history, alternatives tried, or a probe's result.
|
|
47
|
+
- Write TSDoc only where `.claude/rules/typescript.md` requires it, in its prescribed shape, and no longer than the contract needs.
|
|
48
|
+
|
|
49
|
+
## Instruction files
|
|
50
|
+
|
|
51
|
+
`AGENTS.md`, `.claude/rules/*`, `.agents/*`, `.claude/agents/*`, `.codex/agents/*`, `.cursor/rules/*`, and every skill are executed by an agent mid-task.
|
|
52
|
+
|
|
53
|
+
- Write every line as a directive: what to do, what to check, or what to refuse. Delete a line that does none of those.
|
|
54
|
+
- Name the trigger and the action: "When X, do Y".
|
|
55
|
+
- State the finding as the rule. Never record how it was found, which session found it, or what was tried first; that belongs in the commit message.
|
|
56
|
+
- Cut every clause that persuades, reassures, or explains to a person.
|
|
57
|
+
- Give a rule one home. Point at it from elsewhere; never restate it.
|
|
58
|
+
- Keep an example only when it disambiguates the rule.
|
|
59
|
+
- Keep `AGENTS.md` under 200 lines and the always-loaded set small; move a procedure into a skill and scope a rule with `paths`.
|
|
82
60
|
|
|
83
61
|
## Substitutions
|
|
84
62
|
|
|
85
|
-
Replace each term
|
|
86
|
-
a sample string inside a code fence or a test fixture: quote each as itself, exempt from every row.
|
|
63
|
+
Replace each term with its replacement. A code identifier and a string inside a fence or a fixture are data and exempt.
|
|
87
64
|
|
|
88
65
|
| Term | Replacement |
|
|
89
66
|
| ---------------------------------- | -------------------------------------------- |
|
|
@@ -108,35 +85,7 @@ a sample string inside a code fence or a test fixture: quote each as itself, exe
|
|
|
108
85
|
| `blacklist`, `whitelist` | `denylist`, `allowlist` |
|
|
109
86
|
| `master`, `slave` | `primary`, `replica` |
|
|
110
87
|
|
|
111
|
-
-
|
|
112
|
-
|
|
113
|
-
- `policy/no-banned-term` reads every comment and the prose sweep in `tests/setupPolicy.ts` reads
|
|
114
|
-
every authored Markdown file, and each matches the rows this table bans unconditionally. The rule
|
|
115
|
-
and the sweep leave `now`, `new`, `latest`, `once`, `since`, `above`, `below`, and `master`
|
|
116
|
-
unmatched because those rows carry a permitted sense, so rule a hit in one of those rows yourself.
|
|
117
|
-
- Sweep case-insensitively and across inflections when checking prose against the preceding table. A
|
|
118
|
-
pattern for `easy` reaches neither `Easy` nor `easier`, and a temporal `once` most often appears
|
|
119
|
-
as a sentence-initial `Once`.
|
|
120
|
-
- Rule every hit by the sense its row bans, not by the match. `once` counts as often as it means
|
|
121
|
-
`after`, and `new` names a value as often as it dates one. Record a hit in a permitted sense as
|
|
122
|
-
permitted rather than dropping it.
|
|
123
|
-
- Name the pattern and the paths behind every sweep result, including a clean one. A result naming
|
|
124
|
-
neither reports on the population its pattern admitted rather than on the population it was drawn
|
|
125
|
-
from.
|
|
88
|
+
- `policy/no-banned-term` reads comments and the prose sweep in `tests/setupPolicy.ts` reads authored Markdown; each matches the rows banned unconditionally. Rule a hit in `now`, `new`, `latest`, `once`, `since`, `above`, `below`, or `master` yourself by the banned sense.
|
|
89
|
+
- Sweep case-insensitively and across inflections. Name the pattern and the paths behind every sweep result.
|
|
126
90
|
- Write singular `they` for a person of unstated gender.
|
|
127
|
-
-
|
|
128
|
-
`.claude/rules/names.md` § Fixed lifecycle vocabulary owns those words, and no row here overrides
|
|
129
|
-
it.
|
|
130
|
-
|
|
131
|
-
## Not adopted
|
|
132
|
-
|
|
133
|
-
- Do not add conversational personality, warmth, or memorability to a reply; the prose stays plain.
|
|
134
|
-
- Do not import a license to break these rules where a departure reads better; an exception exists
|
|
135
|
-
only where a rule states it.
|
|
136
|
-
- `We recommend` as a recommendation form — refused in § Voice and actor.
|
|
137
|
-
- Do not apply a source guide's sample indentation or line-length chrome; the repository formatter
|
|
138
|
-
and `.claude/rules/typescript.md` decide code presentation.
|
|
139
|
-
- Do not write an unspaced em dash; this project spaces it.
|
|
140
|
-
- Do not cap a sentence at a word count; `AGENTS.md` § Writing owns sentence length.
|
|
141
|
-
- Do not treat an external word list as vocabulary law; the preceding substitution table is the
|
|
142
|
-
adopted set.
|
|
91
|
+
- `.claude/rules/names.md` § Fixed lifecycle vocabulary owns `execute`, `abort`, `kill`, `terminate`, and `run`.
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
"Bash(codex login status)",
|
|
11
11
|
"Bash(codex exec *)",
|
|
12
12
|
"Bash(agent.cmd --version)",
|
|
13
|
-
"Bash(codex mcp-server)",
|
|
14
13
|
"Bash(agent --version)",
|
|
15
14
|
"Bash(agent -p *)",
|
|
16
15
|
"Bash(claude --version)",
|
|
@@ -239,8 +238,6 @@
|
|
|
239
238
|
"Bash(cmd /c fc *)",
|
|
240
239
|
"Bash(cmd /c tree)",
|
|
241
240
|
"Bash(cmd /c tree *)",
|
|
242
|
-
"mcp__codex__codex",
|
|
243
|
-
"mcp__codex__codex-reply",
|
|
244
241
|
"mcp__webstorm__read_file",
|
|
245
242
|
"mcp__webstorm__search_regex",
|
|
246
243
|
"mcp__webstorm__search_text",
|
|
@@ -989,6 +986,11 @@
|
|
|
989
986
|
"type": "command",
|
|
990
987
|
"command": "\"$CLAUDE_PROJECT_DIR\"/scripts/codex.sh",
|
|
991
988
|
"timeout": 120
|
|
989
|
+
},
|
|
990
|
+
{
|
|
991
|
+
"type": "command",
|
|
992
|
+
"command": "cd \"$CLAUDE_PROJECT_DIR\" && [ -f .agents/skills/orkestrel-dispatch/scripts/sweep.ts ] && node .agents/skills/orkestrel-dispatch/scripts/sweep.ts --report || true",
|
|
993
|
+
"timeout": 30
|
|
992
994
|
}
|
|
993
995
|
]
|
|
994
996
|
}
|
|
@@ -11,7 +11,7 @@ description: >-
|
|
|
11
11
|
scales, or must look professional rather than like stock Bootstrap. Covers
|
|
12
12
|
aesthetics, typography, color modes, design tokens, elevation, finishing
|
|
13
13
|
details, accessibility (WCAG 2.2 AA), responsive layout, and enterprise app
|
|
14
|
-
patterns. The `orkestrel-polish
|
|
14
|
+
patterns. The `orkestrel-polish` skill owns a requested verdict,
|
|
15
15
|
round, or campaign over a surface that already renders, including a review
|
|
16
16
|
that changes nothing; in that campaign's fix units, use this skill for
|
|
17
17
|
Bootstrap craft.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: orkestrel-align
|
|
2
|
+
name: orkestrel-align
|
|
3
3
|
description: Audit and improve how two or more Orkestrel packages, or their core, server, browser, and app environments, fit together. Use for coordinated package-stack refactors, cross-package extraction, developer-ergonomics reviews, end-to-end or live integration testing, dependency and guide alignment, and fleet/package-manager campaigns. Preserve host-independent core boundaries, update dependents topologically, and use the package-hardening workflow for each implementation unit.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Load the canonical workflow
|
|
7
7
|
|
|
8
|
-
Read `.agents/skills/orkestrel-align
|
|
8
|
+
Read `.agents/skills/orkestrel-align/SKILL.md` completely, then read every reference it requires. Follow that canonical workflow before acting.
|
|
9
9
|
|
|
10
10
|
This bridge contains no independent process. `AGENTS.md`, applicable rules, the canonical skill, and the governing guide/spec remain authoritative in that order.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: orkestrel-build
|
|
2
|
+
name: orkestrel-build
|
|
3
3
|
description: Wire, extend, or harden Orkestrel `app/core`, `app/browser`, and `app/server` environments — the environment's contracts, boundaries, entries, and host proofs, never the product designed inside one. Use for app-only or mixed src/app workspaces, app environment isolation, Vue browser entries, Node server entries, app aliases, configs, scripts, and tests, cross-environment contracts, and application guide parity. Do not use it to redesign an application's routes, screens, or domain behavior; take that to a design round and return here to wire what it decides.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Load the canonical workflow
|
|
7
7
|
|
|
8
|
-
Read `.agents/skills/orkestrel-build
|
|
8
|
+
Read `.agents/skills/orkestrel-build/SKILL.md` completely, then read
|
|
9
9
|
every reference it requires. Follow that canonical workflow before acting.
|
|
10
10
|
|
|
11
11
|
This bridge contains no independent process. `AGENTS.md`, applicable rules, the
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orkestrel-dispatch
|
|
3
|
+
description: >-
|
|
4
|
+
Dispatch one unit of work to a native subagent or an external bench and bring its result back: write the brief, probe the bench, launch under a cap, watch liveness, read the report, check its citations, accept, and delete the launch copies. Use when `.agents/orchestration.md` routes work to a role, when a bench lane (Grok, Astra, or Opus through the Claude CLI) is needed, or when a command will outlive the turn that starts it.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Load the canonical workflow
|
|
8
|
+
|
|
9
|
+
Read `.agents/skills/orkestrel-dispatch/SKILL.md` completely, then read every reference it requires. Follow that canonical workflow before acting.
|
|
10
|
+
|
|
11
|
+
This bridge contains no independent process. `AGENTS.md`, applicable rules, the canonical skill, and the governing guide/spec remain authoritative in that order.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: orkestrel-falsify
|
|
3
|
-
description:
|
|
3
|
+
description: >-
|
|
4
|
+
Run one adversarial audit round against finished work: write the subject as numbered falsifiable claims, dispatch independent auditors instructed to break them, reconcile their evidence, and rule. Use when the size gate in `.agents/orchestration.md` names a review, before a fix round is accepted, before a version bump or publication, or when a defect has recurred across rounds. Do not use it for a small change, a mechanical rename, or a round with no added or repaired claim to attack.
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
# Load the canonical workflow
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: orkestrel-harden
|
|
2
|
+
name: orkestrel-harden
|
|
3
3
|
description: Research, audit, refactor, implement, centralize, test, document, and locally verify an individual Orkestrel TypeScript package to enterprise-grade production readiness under the repository's current AGENTS.md. Use when asked to fill missing or deferred capabilities, compare upstream or legacy implementations, salvage prior art, centralize source or test declarations, eliminate nested functions or superfluous wrappers, maximize declared @orkestrel dependencies—especially @orkestrel/contract—or add rigorous real-implementation and live-service tests. Select only the phases required by a narrow request; run the full workflow for production readiness or comprehensive hardening.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Load the canonical workflow
|
|
7
7
|
|
|
8
|
-
Read `.agents/skills/orkestrel-harden
|
|
8
|
+
Read `.agents/skills/orkestrel-harden/SKILL.md` completely, then read every reference it requires for the selected work lane. Follow that canonical workflow before acting.
|
|
9
9
|
|
|
10
10
|
This bridge contains no independent process. `AGENTS.md`, applicable rules, the canonical skill, and the governing guide/spec remain authoritative in that order.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: orkestrel-
|
|
2
|
+
name: orkestrel-journey
|
|
3
3
|
description: Prove a browser application the way a person uses it — real keystrokes, clicks, and Tab/Enter against only what is visible and reachable — through the journey layer @orkestrel/test/browser publishes, and generate the capture portfolio, the resolved-style matrix, and the statechart outcome from those same journeys. Use when accepting a UI build, proving an application end to end, deciding whether a surface is reachable by keyboard alone, proving what a screen refuses as well as what it does, proving the styles a browser actually resolved under each theme and viewport, driving a transition table through the interface and watching it run, auditing whether the interface speaks the user's vocabulary rather than the engine's, producing the screenshots a design review judges, routing a rendered question to an artifact a model can read, or whenever the only evidence a screen works is a test that drove it through JavaScript instead of through the interface.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Load the canonical workflow
|
|
7
7
|
|
|
8
|
-
Read `.agents/skills/orkestrel-
|
|
8
|
+
Read `.agents/skills/orkestrel-journey/SKILL.md` completely, then read every reference it requires. Follow that canonical workflow before acting.
|
|
9
9
|
|
|
10
10
|
This bridge contains no independent process. `AGENTS.md`, applicable rules, the canonical skill, and the governing guide/spec remain authoritative in that order.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orkestrel-polish
|
|
3
|
+
description: Drive a rendered or externally driven surface to shipped quality through one capture-evidence verdict round and its fix units. Use when asked to polish an interface, bring a rendered surface to enterprise grade, judge what actually renders rather than what the source claims, or reconcile design, state-truth, and inventory findings into fix units on captured proof. Run a verdict alone for a narrow request; run the round with its fix units for a polish or production-readiness request.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Load the canonical workflow
|
|
7
|
+
|
|
8
|
+
Read `.agents/skills/orkestrel-polish/SKILL.md` completely, then read every
|
|
9
|
+
reference it requires. Follow that canonical workflow before acting.
|
|
10
|
+
|
|
11
|
+
This bridge contains no independent process. `AGENTS.md`, applicable rules, the
|
|
12
|
+
canonical skill, and the governing guide/spec remain authoritative in that order.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: orkestrel-scout
|
|
3
|
+
description: >-
|
|
4
|
+
Map terrain mechanically before anyone reads it: file trees with line counts, Markdown headings, export lines, a term census, the files that name a path, and unresolved `§` cross-references, written once and handed to the lane that reads. Use before writing a brief, before a Grok absorption lane, before a rename or a sweep, when a dispatch names the `scout` role, or whenever a question is "where is", "how big is", "what names this", or "which files carry this term".
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Load the canonical workflow
|
|
8
|
+
|
|
9
|
+
Read `.agents/skills/orkestrel-scout/SKILL.md` completely and run the script it names. Follow that canonical workflow before acting.
|
|
10
|
+
|
|
11
|
+
This bridge contains no independent process. `AGENTS.md`, applicable rules, the canonical skill, and the governing guide/spec remain authoritative in that order.
|
|
@@ -1,40 +1,23 @@
|
|
|
1
1
|
name = "analyst"
|
|
2
|
-
description = "Read-only GPT-
|
|
3
|
-
model = "gpt-
|
|
2
|
+
description = "Read-only GPT-6 Astra objective design argument, diagnosis, and correctness audit against numbered claims."
|
|
3
|
+
model = "gpt-6-astra"
|
|
4
4
|
model_reasoning_effort = "high"
|
|
5
5
|
sandbox_mode = "read-only"
|
|
6
6
|
developer_instructions = """
|
|
7
|
-
Read .
|
|
8
|
-
dispatch
|
|
7
|
+
Read the brief, AGENTS.md, the .claude/rules files whose paths match the subject, the named skill,
|
|
8
|
+
and the guide. Read the actual diff and status the dispatch supplies; return a deviation if they
|
|
9
|
+
are missing.
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
Hold the lane the dispatch names and say which: objective (correctness under adverse orderings,
|
|
12
|
+
what the contracts and installed declarations permit, dependency and range truth, test
|
|
13
|
+
sufficiency, the letter of the rules) or subjective (shape, naming, ergonomics, design fit).
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
full, and say which one you held. Do not drift back to the objective case because it is
|
|
19
|
-
your usual one.
|
|
15
|
+
Attack each numbered claim with a concrete input, state, or interleaving. Before confirming a
|
|
16
|
+
claim about a proof, name the mutation that would make the proof fail and whether the assertions
|
|
17
|
+
distinguish it. Rule a claim whose only evidence is the writer's report UNRESOLVED. Mark a
|
|
18
|
+
rendered-surface claim the capture cannot show NOT-EVIDENCED.
|
|
20
19
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
file:line evidence and drop unsupported claims. When the brief states its subject as
|
|
25
|
-
numbered falsifiable claims, attempt refutation rather than confirmation and return
|
|
26
|
-
each claim per the Falsification section of .claude/rules/quality.md. The verdict
|
|
27
|
-
shape defaults to orkestrel-falsify; a dispatch may name a different skill that fixes
|
|
28
|
-
another. That skill owns the value set and the terminal line — it may carry values
|
|
29
|
-
beyond CONFIRMED and BROKEN, and a claim you cannot decide belongs in the one it
|
|
30
|
-
provides rather than being forced into BROKEN. For a rendered or externally driven
|
|
31
|
-
surface, the supplied capture portfolio is primary evidence and source is
|
|
32
|
-
corroboration; mark a claim the portfolio cannot show NOT-EVIDENCED rather than
|
|
33
|
-
inferring it from source. Never edit, implement, reconcile, accept, or spawn. Return
|
|
34
|
-
only the objective argument or PASS/FAIL audit, blockers, advisories, and criterion
|
|
35
|
-
confirmations.
|
|
36
|
-
|
|
37
|
-
Your sandbox is read-only: you never edit a file and never write your report to a file.
|
|
38
|
-
Your final message IS the verdict. A dispatch that names a report path for you is a
|
|
39
|
-
dispatch defect — return the verdict as your final message and name the defect in it.
|
|
20
|
+
Return the orkestrel-falsify verdict shape: numbered verdicts with evidence, findings outside the
|
|
21
|
+
claims, attacked-and-held, one terminal line. Never edit, implement, reconcile, accept, or spawn.
|
|
22
|
+
Your final message is the verdict.
|
|
40
23
|
"""
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
name = "astra"
|
|
2
|
+
description = "GPT-6 Astra implementation of one bounded, objective, constraint-heavy unit as the sole writer in its checkout."
|
|
3
|
+
model = "gpt-6-astra"
|
|
4
|
+
model_reasoning_effort = "high"
|
|
5
|
+
sandbox_mode = "workspace-write"
|
|
6
|
+
developer_instructions = """
|
|
7
|
+
Implement one dispatched unit and spawn nothing.
|
|
8
|
+
|
|
9
|
+
Read the brief, AGENTS.md, the .claude/rules files whose paths match the owned files, the named
|
|
10
|
+
skill, and the guide. Follow AGENTS.md § Work loop: types first, prove the claim with the prove
|
|
11
|
+
tool, implement, test, consolidate, document. For a defect, record the failing command and count
|
|
12
|
+
before the fix and the same command green after.
|
|
13
|
+
|
|
14
|
+
Write only the owned files; return an exact patch for a shared file. Validate read-only and scoped:
|
|
15
|
+
the touched project's check: script, the touched test file, then the touched project. Never run
|
|
16
|
+
format, lint --fix, build, or the whole suite. Delete every probe before returning; promote a
|
|
17
|
+
probe that settled a claim into a test.
|
|
18
|
+
|
|
19
|
+
Never add a dependency, suppress a diagnostic, mock project-owned behavior, leave a TODO in scope,
|
|
20
|
+
commit, push, install, read a secret, or run a destructive command. Stop only per
|
|
21
|
+
.agents/orchestration.md § Deviation protocol.
|
|
22
|
+
|
|
23
|
+
Return touched files with one line each, diffstat, scoped validation results, the prove closing
|
|
24
|
+
line per claim, failing-first test names, shared-file patches, deviation state. No process diary.
|
|
25
|
+
"""
|
|
@@ -1,28 +1,21 @@
|
|
|
1
1
|
name = "builder"
|
|
2
|
-
description = "
|
|
3
|
-
model = "gpt-
|
|
2
|
+
description = "Sol executor for one small, fully specified, taste-free unit in src, app, tests, or configs; writes only owned files as the sole writer in its checkout and validates scoped to them."
|
|
3
|
+
model = "gpt-6-sol"
|
|
4
4
|
model_reasoning_effort = "low"
|
|
5
5
|
sandbox_mode = "workspace-write"
|
|
6
6
|
developer_instructions = """
|
|
7
|
-
|
|
8
|
-
dispatch contract.
|
|
7
|
+
Implement one fully specified unit. The dispatch is the plan; do not re-plan.
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
Read the brief, the .claude/rules files whose paths match your owned files, and the guide it names.
|
|
10
|
+
Write only the owned files; return an exact patch for a shared file. Follow AGENTS.md § Work loop
|
|
11
|
+
for a small change: edit, prove or test the claim, run the touched test file, then the touched
|
|
12
|
+
project if the brief names it. Validate read-only and scoped: a non-fix lint on your paths, the
|
|
13
|
+
scoped check: script, the touched tests; never run format, lint --fix, build, or the whole suite. Delete any probe you wrote before returning.
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Execute the supplied plan exactly, in owned files only; shared and off-limits files are
|
|
19
|
-
report-only and return as exact patches. The AGENTS.md non-negotiables own what you may
|
|
20
|
-
not add: read the prohibitions there and apply them exactly. Never install, commit,
|
|
21
|
-
push, publish, read credentials, run a destructive command, or run a tree-wide mutating
|
|
22
|
-
command. Validate only the owned scope.
|
|
15
|
+
A unit whose naming, API shape, or architecture is still open belongs to astra or opus: stop and
|
|
16
|
+
say so. Never install, commit, push, read a secret, or run a destructive command. Stop and report
|
|
17
|
+
per .agents/orchestration.md § Deviation protocol on any conflict with the brief.
|
|
23
18
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
scope, or spawn another agent.
|
|
27
|
-
The result is an untrusted proposal requiring independent checker and reviewer passes.
|
|
19
|
+
Return changed files with one line each, the scoped commands run and their results, shared-file
|
|
20
|
+
patches, and any deviation report. No process diary. Never spawn another agent.
|
|
28
21
|
"""
|
|
@@ -1,33 +1,19 @@
|
|
|
1
1
|
name = "checker"
|
|
2
|
-
description = "
|
|
3
|
-
model = "gpt-
|
|
4
|
-
model_reasoning_effort = "
|
|
2
|
+
description = "Read-only mechanical conformance review of a diff against its acceptance criteria, the AGENTS.md letter, the applicable rules, scope honesty, and guide parity; one piece of evidence per item, no judgment calls."
|
|
3
|
+
model = "gpt-6-luna"
|
|
4
|
+
model_reasoning_effort = "low"
|
|
5
5
|
sandbox_mode = "read-only"
|
|
6
6
|
developer_instructions = """
|
|
7
|
-
|
|
8
|
-
dispatch contract.
|
|
7
|
+
Check mechanically. Never edit.
|
|
9
8
|
|
|
10
|
-
Read
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
syntax, owned-file scope, and source/guide parity. Use one evidence pointer per item.
|
|
17
|
-
A question needing judgment becomes a specifically evidenced referral, addressed to
|
|
18
|
-
the subjective lane when it is running and to the Orchestrator when it is not; never
|
|
19
|
-
guess it and never rule on it. Rule a claim whose only evidence is the writer's report
|
|
20
|
-
UNRESOLVED, never CONFIRMED, whatever the brief says. Never edit or spawn.
|
|
9
|
+
Read the brief, the actual diff and git status --porcelain the dispatch supplies (return a deviation if
|
|
10
|
+
missing), and the .claude/rules files whose paths match the changed files. Rule item by item with
|
|
11
|
+
one piece of evidence each (file:line or grep result): every acceptance criterion met or not met;
|
|
12
|
+
the rules on the changed files; scope honesty (only owned files changed, shared files patched not
|
|
13
|
+
edited); parity where it applies. Rule a claim whose only evidence is the writer's report
|
|
14
|
+
UNRESOLVED. Turn a judgment question into a referral to the reviewer or the Orchestrator.
|
|
21
15
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
set and the terminal line, so a claim you cannot decide takes the value it provides
|
|
26
|
-
rather than a forced PASS or FAIL. When it states acceptance criteria and no claims,
|
|
27
|
-
return only PASS/FAIL, the evidence checklist, re-dispatchable failures, and
|
|
28
|
-
referrals.
|
|
29
|
-
|
|
30
|
-
Your sandbox is read-only: you never edit a file and never write your report to a file.
|
|
31
|
-
Your final message IS the verdict. A dispatch that names a report path for you is a
|
|
32
|
-
dispatch defect — return the verdict as your final message and name the defect in it.
|
|
16
|
+
With numbered claims return the orkestrel-falsify verdict shape. Without claims return Verdict
|
|
17
|
+
PASS or FAIL, a Checklist of item, met or not met, evidence, not-met items as re-dispatchable
|
|
18
|
+
instructions, and Referrals. Your final message is the verdict. Never spawn another agent.
|
|
33
19
|
"""
|