codex-orchestrator 2.0.16 → 2.0.17
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/CHANGELOG.md +8 -0
- package/README.md +4 -0
- package/internal-workflow/docs/agents/coding-skill-routing.md +4 -0
- package/internal-workflow/manifest.json +1 -1
- package/internal-workflow/profiles/implementer.toml +1 -1
- package/internal-workflow/skills/code-review/SKILL.md +8 -0
- package/internal-workflow/skills/code-review/evals/evals.json +25 -0
- package/internal-workflow/skills/implement/SKILL.md +8 -4
- package/internal-workflow/skills/implement/evals/evals.json +12 -0
- package/internal-workflow/skills/plan/SKILL.md +23 -1
- package/internal-workflow/skills/plan/evals/evals.json +24 -0
- package/internal-workflow/skills/tickets-orchestrator/SKILL.md +7 -9
- package/internal-workflow/skills/tickets-orchestrator/evals/evals.json +1 -1
- package/internal-workflow/skills/tickets-orchestrator/references/delegate-integrate.md +29 -4
- package/internal-workflow/skills/to-spec/SKILL.md +6 -1
- package/internal-workflow/skills/to-spec/evals/evals.json +12 -0
- package/internal-workflow/skills/to-tickets/SKILL.md +20 -4
- package/internal-workflow/skills/to-tickets/evals/evals.json +7 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,14 @@ The format is based on Keep a Changelog, and this project follows SemVer.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [2.0.17] - 2026-08-18
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- Simplified the agent workflow scope and refreshed the packaged implementer
|
|
13
|
+
profile and workflow contracts around the authorized outcome.
|
|
14
|
+
- Expanded the live-smoke matrix to 17 distinct scenarios and strengthened its
|
|
15
|
+
contract coverage, documentation, and test-audit evidence.
|
|
16
|
+
|
|
9
17
|
## [2.0.16] - 2026-08-14
|
|
10
18
|
|
|
11
19
|
### Changed
|
package/README.md
CHANGED
|
@@ -182,6 +182,10 @@ All outcomes include structured evidence or a path to local evidence. Quiet term
|
|
|
182
182
|
A failed check becomes a bounded finding for the next implementation cycle;
|
|
183
183
|
there is no qualification operation or separate retry coordinator. Final
|
|
184
184
|
checks must all pass; failures are never accepted by comparing output hashes.
|
|
185
|
+
- File lists in issues are starting points, not exhaustive allowlists. The
|
|
186
|
+
authorized outcome owns scope: implementation may update directly affected
|
|
187
|
+
callers, tests, fixtures, and wiring needed to complete that same outcome;
|
|
188
|
+
unrelated behavior and new decisions remain out of scope.
|
|
185
189
|
- `proof.artifactDir`: repository-relative location for proof artifacts inside the run worktree.
|
|
186
190
|
- `proof.android`: optional Runner-owned Android recipe. It selects `avdName`, creates an ephemeral clean data directory, requires fixed `build apk` arguments, removes any old `apkPath`, snapshots a fresh no-symlink APK outside the worker-writable tree, and binds its digest to the checked change. It installs and launches that exact snapshot, repeatedly verifies emulator process identity, waits up to `navigationTimeoutMs` for each exact `tapText` accessibility label, and captures proof-bound screenshot, hierarchy, PID log, and lease artifacts. Commands are bounded, cancellable, and process-group quiescent; URI query/fragment credentials are rejected. The contained proof worker never receives `adb`, emulator, Flutter, or durable lease authority. Emulator or Android-tool startup failure is retained as an explicit unfinished-UI-proof warning and does not by itself block delivery.
|
|
187
191
|
- `deny.readPaths`: paths the worker must not read or modify.
|
|
@@ -17,6 +17,10 @@ facts, runtime constraints, and domain language remain in repository policy.
|
|
|
17
17
|
- **Proof** — claim only the observable outcome proved through the real caller
|
|
18
18
|
seam. Missing required proof or independent-review approval blocks completion
|
|
19
19
|
and the affected commit.
|
|
20
|
+
- **Scope conservation** — start with the direct solution through existing
|
|
21
|
+
owners and seams. Add a mechanism only when confirmed authority or a proven
|
|
22
|
+
failure path cannot be satisfied directly. Delete anything removable without
|
|
23
|
+
losing required behavior, invariants, or credible proof.
|
|
20
24
|
|
|
21
25
|
These principles are checks, not workflow state or durable artifacts.
|
|
22
26
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"evals":{"skill/bug-root-cause-explainer":{"owner":"bug-root-cause-explainer","path":"skills/bug-root-cause-explainer/evals/evals.json"},"skill/code-review":{"owner":"code-review","path":"skills/code-review/evals/evals.json"},"skill/diagnosing-bugs":{"owner":"diagnosing-bugs","path":"skills/diagnosing-bugs/evals/evals.json"},"skill/grilling":{"owner":"grilling","path":"skills/grilling/evals/evals.json"},"skill/implement":{"owner":"implement","path":"skills/implement/evals/evals.json"},"skill/plan":{"owner":"plan","path":"skills/plan/evals/evals.json"},"skill/prototype":{"owner":"prototype","path":"skills/prototype/evals/evals.json"},"skill/research":{"owner":"research","path":"skills/research/evals/evals.json"},"skill/tdd":{"owner":"tdd","path":"skills/tdd/evals/evals.json"},"skill/tickets-orchestrator":{"owner":"tickets-orchestrator","path":"skills/tickets-orchestrator/evals/evals.json"},"skill/to-spec":{"owner":"to-spec","path":"skills/to-spec/evals/evals.json"},"skill/to-tickets":{"owner":"to-tickets","path":"skills/to-tickets/evals/evals.json"}},"files":[{"mode":420,"path":"docs/agents/bug-workflow-routing.md","sha256":"96c35629bdf29fcaf7114bc2835d4ef94ac08d77ae218496c12c2a4e2419734b","size":1709},{"mode":420,"path":"docs/agents/bugfix-quality-gate.md","sha256":"caaed6c923adfe56f4b6dd89222a83493ef4dd4e8bdd2bad694f8a11f93541ae","size":709},{"mode":420,"path":"docs/agents/coding-skill-routing.md","sha256":"7ffc29b0d8bf7480d8e55bd1154ae266127ddfb73b80401f039343c750275486","size":9253},{"mode":420,"path":"docs/agents/confidence-rubric.md","sha256":"42c947db2775380867e7adcfbdbe0f67b8f511b9ddf33a6eef8e1b0e995912c2","size":1883},{"mode":420,"path":"docs/agents/tool-usage.md","sha256":"7e1f52fff6c2a9c573851d682cacf85ef7c22d67c00eb2667ca6f06ec5a6f9b0","size":5069},{"mode":420,"path":"operations/acceptance-proof/SKILL.md","sha256":"c33a04bf8dfcb59982f60b232633b0e48e9de4ec375cd02f52ec71f9fce30de6","size":440},{"mode":420,"path":"operations/code-review/SKILL.md","sha256":"5483d29364ab73d16fd28e8117fae17e300b7ea80235e3ceb5415b296b7defed","size":2594},{"mode":420,"path":"operations/implementation/SKILL.md","sha256":"16f48cd2a1d3c106773ec0af8c13912cb44bf36d50ccef601e0290eeb0262345","size":2102},{"mode":420,"path":"profiles/implementer.toml","sha256":"3e3edd16fd54f810cb381e0c0c6e2933ce323267222a497fe8749d0f281e12b1","size":550},{"mode":420,"path":"profiles/review_coordinator.toml","sha256":"ef9197959946e141334c182897e3335d0243f05afd4ad81288a8481e0efd3795","size":681},{"mode":420,"path":"profiles/spec_reviewer.toml","sha256":"2dd198709c887f5b613461d4ae2b04405ff928cf566a43a731a5f51d67d745bb","size":770},{"mode":420,"path":"profiles/standards_reviewer.toml","sha256":"327c477315595dd50489873a05c7aa0c5ff51afb877bb0746d569ff4e33180fb","size":896},{"mode":420,"path":"schemas/code-review-v1.json","sha256":"756d7aecacb47f1a90d63933a8564fca3211a10bb929b804808c395c385499e1","size":2615},{"mode":420,"path":"schemas/implementation-report-v1.json","sha256":"072fb02e64d856053870646ff12d53f355551706c3b5a3a542010b577c452322","size":4412},{"mode":420,"path":"schemas/proof-report-v1.json","sha256":"104db803c066e42ed5493fec7eecc7e3788fce622df33d5ad4016aba7946f8c8","size":21244},{"mode":420,"path":"skills/acceptance-proof/SKILL.md","sha256":"6f2d85dfebfd47b2ec7ede95f2e02417b3f0ad860d333360b040d31e3c609525","size":1777},{"mode":420,"path":"skills/acceptance-proof/agents/openai.yaml","sha256":"d602d9f2e1bf618a71171729c6f354dd137c939cb433bd49afec678360e1189f","size":265},{"mode":420,"path":"skills/acceptance-proof/references/android.md","sha256":"b62fea63f53f79a8978df81608a7c1f48fa9f06084fba8382904a8f8c8dff9bc","size":2940},{"mode":420,"path":"skills/acceptance-proof/references/browser.md","sha256":"ceefa4fd7db475b6162368511c2742b6d9c6af58d48e7d5d8a773ed5cc3938c4","size":2281},{"mode":420,"path":"skills/acceptance-proof/references/ios.md","sha256":"ae18be2632e1f7c3aa0810a1bafafc7760c807b30b1269408825aa14c224d493","size":2486},{"mode":420,"path":"skills/acceptance-proof/tools/ios-lease.mjs","sha256":"6e1e0d95c6a8b2d42c34de05bd4446eac23e3916bffccb027f236b8a8a1809a3","size":13834},{"mode":420,"path":"skills/bug-root-cause-explainer/SKILL.md","sha256":"972305d2d4231b6eb7b39196eb49bc167e0a7f89ab86918ef5ad71a34d9bda43","size":5474},{"mode":420,"path":"skills/bug-root-cause-explainer/agents/openai.yaml","sha256":"a65d3f3b50d38309ef54618e0c00f656ac17a5bee5cc5a5c5faf3bc10954caef","size":403},{"mode":420,"path":"skills/bug-root-cause-explainer/evals/evals.json","sha256":"a2783a1e6be8fd7ca5af3821379cff7a6b8565ae33a8ed194b38573eabba4414","size":656},{"mode":420,"path":"skills/code-review/SKILL.md","sha256":"a50c99dc1de7bbad8b78670f7dbb79bc4914f0a506affada59b8e6ace318671d","size":4861},{"mode":420,"path":"skills/code-review/agents/openai.yaml","sha256":"cfc3d99b7fbe8cfe04ac994acaacf11ae73dcf1da59dcd2c248d779d415c8413","size":314},{"mode":420,"path":"skills/code-review/evals/evals.json","sha256":"23183a3d13dff991df68b45897b10778ee97884a3cd909f7892ae4fffde7df98","size":3467},{"mode":420,"path":"skills/code-review/references/standards-smells.md","sha256":"e14cf49716f832ea9e6b43cadcac255b8cf3ffe0712b923e68c7c9a69d46a387","size":2408},{"mode":420,"path":"skills/diagnosing-bugs/SKILL.md","sha256":"95c48af453d9d99fbcd8ceb1335c1794d110d94a7783dec9185f41d71b7e21c6","size":11826},{"mode":420,"path":"skills/diagnosing-bugs/agents/openai.yaml","sha256":"0ae35c16a55e0efa5de2ac756e07a2b058c562a89c53e149145f5de1584e24e6","size":373},{"mode":420,"path":"skills/diagnosing-bugs/evals/evals.json","sha256":"9881149ebe47c9443ff8e7f2dcf02725d742a84806de6e33ec2ba49d31dbc2a2","size":2557},{"mode":420,"path":"skills/diagnosing-bugs/scripts/hitl-loop.template.sh","sha256":"b2932630950e5210075bcd6f850e5accf30c101c5367b29eac3a29b4dd8084c8","size":1164},{"mode":420,"path":"skills/grilling/SKILL.md","sha256":"ff7a5707e1320212c9f9bec18507566ce5eed0eee1a4990e9d09074ca76a335b","size":2552},{"mode":420,"path":"skills/grilling/agents/openai.yaml","sha256":"16acd9a4929237685beb879ad38e6235f02e11475cf2a865c443c4d50997c5d8","size":358},{"mode":420,"path":"skills/grilling/evals/evals.json","sha256":"30c3e7137d296156d74b69ee25640e43c82ae650f0f07ed76f12206b34124c39","size":1778},{"mode":420,"path":"skills/implement/SKILL.md","sha256":"f3c09dd6a68d721eb71b3ae9e8640749c4a4ba391dc7d06a6b0a98e3a9c23117","size":7439},{"mode":420,"path":"skills/implement/agents/openai.yaml","sha256":"2ef457435557419cb11139b4172813ee0ca711630df81a1192532c7e8cf8006e","size":266},{"mode":420,"path":"skills/implement/evals/evals.json","sha256":"d8ab1bd16d5143231e65213998f47bed516c772427f4aef8542b412287a469a0","size":6828},{"mode":420,"path":"skills/plan/SKILL.md","sha256":"1218649dd59932e566b353951d20fd16927dddd96b2365bd353a231d04a7af07","size":2878},{"mode":420,"path":"skills/plan/agents/openai.yaml","sha256":"8fffc0a16f3577c93988233529a671db94a6dea55be0ae3fd29e7a6109ae13cf","size":311},{"mode":420,"path":"skills/plan/evals/evals.json","sha256":"d66f7935a46e68e0ec6097c336c5da5522cdaeec92fb8ea8b16265b8c031ca17","size":2290},{"mode":420,"path":"skills/prototype/LOGIC.md","sha256":"1a6a50011e81db9bf786eb98131d5125b4965681cc5c4d5db3b6dd2a39478c07","size":5828},{"mode":420,"path":"skills/prototype/SKILL.md","sha256":"b185dde586efa763c1fc5dec7b44ed54b0b02a07183e95d7658e5dea4d31424b","size":4027},{"mode":420,"path":"skills/prototype/UI.md","sha256":"39d6c54ad1ece13e87157dbb80fdfe7b627d21368d93889d787af6a9be3c1467","size":6798},{"mode":420,"path":"skills/prototype/agents/openai.yaml","sha256":"b84be88538b40eb72f6b819c939b11d92e29dcb2bed91fba7cd67a0ca6ac3bad","size":301},{"mode":420,"path":"skills/prototype/evals/evals.json","sha256":"7619c1c5b41c3c62c870c557623d49d788d6672828f887b31fff2ab3a390a82a","size":2928},{"mode":420,"path":"skills/research/SKILL.md","sha256":"3effbfd0db25f32330fc34887e6c553b2b062ca605f0df98462a207df44b1373","size":4757},{"mode":420,"path":"skills/research/agents/openai.yaml","sha256":"4475cf777225f81a1c45937389d55f2b485b039b36e8378ef6b001e24f3fd1fe","size":254},{"mode":420,"path":"skills/research/evals/evals.json","sha256":"ba1c1f1a9c841ca3d25faebcfe84dd30993a50dbd9d04274e215c2f44a369554","size":1973},{"mode":420,"path":"skills/tdd/SKILL.md","sha256":"c4ef54fe809fb8fa4c55de2810210f9991f85fa442c73797e575d59c9b99d4fe","size":4397},{"mode":420,"path":"skills/tdd/agents/openai.yaml","sha256":"62f91ed072157ada9471fece9e9265a9bb7c9eb07fc1453794f4ccf5d107083c","size":285},{"mode":420,"path":"skills/tdd/evals/evals.json","sha256":"58cfcd7c2fedc80e4f1431e4c52481849522944730639265323516c12c70b905","size":1202},{"mode":420,"path":"skills/tdd/interface-design.md","sha256":"764c5ff0e3fa6b4ab7095eb65ccc7201e090baf19fa16051dfdb72c06d27417d","size":653},{"mode":420,"path":"skills/tdd/mocking.md","sha256":"36891842b9ff463daf1c68e65eb25df6bcc734f476a0d23c930e757c150c7451","size":1817},{"mode":420,"path":"skills/tdd/refactoring.md","sha256":"28e5278dac743bc1a37bf5b5e3beba84fe90c0d63ea59abfb5cc206b8667684e","size":398},{"mode":420,"path":"skills/tdd/tests.md","sha256":"6773173a074569b2e51653bd7b95c097d602dbb4815d1cf1c87344705c4e0d1c","size":2228},{"mode":420,"path":"skills/tickets-orchestrator/SKILL.md","sha256":"82e0ee84cb89a9ce98809a7db344b06e116976d535511aa63ac56e6a2b6aecba","size":11831},{"mode":420,"path":"skills/tickets-orchestrator/agents/openai.yaml","sha256":"a130bb5c109e9385bdcca4edc583f63c0199fe9673c334ba5e336900e9de606a","size":412},{"mode":420,"path":"skills/tickets-orchestrator/evals/evals.json","sha256":"76182497e64cef0458bc74cf7718b0311ea8f45b10359f7b3f969b0740ce0687","size":9936},{"mode":420,"path":"skills/tickets-orchestrator/references/delegate-integrate.md","sha256":"41663556a3817a386dfb292188df9616c5aae1d13af4f989687c8e934c6b6015","size":4463},{"mode":420,"path":"skills/tickets-orchestrator/references/finish-delivery.md","sha256":"cdcafc0f908ff67c810301934721d006f4b791087b9362e29a41c92e88dd1121","size":4246},{"mode":420,"path":"skills/tickets-orchestrator/references/stop-completion.md","sha256":"21ec3fcfc9acbdc9db040b1cf8a1740cc4e18be1dc8827b7f66edca0d611c3dd","size":3568},{"mode":420,"path":"skills/to-spec/SKILL.md","sha256":"a6b5c0231f55883fde7ac5f33e56048fd089301dcfb8a340b49980b992f7f4b6","size":5944},{"mode":420,"path":"skills/to-spec/agents/openai.yaml","sha256":"02221785807ff9219a80d71f66759f354c417ee003b1ed56787962220c272e21","size":292},{"mode":420,"path":"skills/to-spec/evals/evals.json","sha256":"bb8ac2f9be1b3253245875b5666145300dedc1bc229c424ba99b065f611d8621","size":1817},{"mode":420,"path":"skills/to-tickets/SKILL.md","sha256":"f1f96cf37cb9dfee959d84f5f6650d3183bf3c7b24743ae4c197d955e6305ecf","size":12086},{"mode":420,"path":"skills/to-tickets/agents/openai.yaml","sha256":"88383101109fef9926340fcea294e5d59c279d81bafe57f1f6a2d0efabdf4b84","size":342},{"mode":420,"path":"skills/to-tickets/evals/evals.json","sha256":"f7f70334586840053ab9aa66e5671354cd3e856132ca23b8817f29b7315cf965","size":8466},{"mode":420,"path":"skills/to-tickets/references/publishing-details.md","sha256":"482144c7bef9631e1007845ebe34468eaa435c3f6d6cd3c0d7b34a65bdc6fca6","size":4848}],"generationHash":"6bdd6ad093dfe5874a8e7fb9ca16ea45f548664777d7d678f370533864423b74","operations":{"acceptance-proof":{"dependencySkills":[],"entry":"operations/acceptance-proof/SKILL.md","files":["operations/acceptance-proof/SKILL.md","profiles/implementer.toml","schemas/proof-report-v1.json","skills/acceptance-proof/SKILL.md","skills/acceptance-proof/agents/openai.yaml","skills/acceptance-proof/references/android.md","skills/acceptance-proof/references/browser.md","skills/acceptance-proof/references/ios.md","skills/acceptance-proof/tools/ios-lease.mjs"],"id":"acceptance-proof","outputSchema":"schemas/proof-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"proof-only","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"implementer","resources":[],"reviewers":[],"sourceSkill":"acceptance-proof"},"code-review":{"dependencySkills":[],"entry":"operations/code-review/SKILL.md","files":["docs/agents/confidence-rubric.md","operations/code-review/SKILL.md","profiles/review_coordinator.toml","profiles/spec_reviewer.toml","profiles/standards_reviewer.toml","schemas/code-review-v1.json","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md"],"id":"code-review","outputSchema":"schemas/code-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"review_coordinator","resources":["docs/agents/confidence-rubric.md"],"reviewers":["spec_reviewer","standards_reviewer"],"sourceSkill":"code-review"},"implementation":{"dependencySkills":["diagnosing-bugs","tdd"],"entry":"operations/implementation/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/bugfix-quality-gate.md","docs/agents/coding-skill-routing.md","docs/agents/confidence-rubric.md","docs/agents/tool-usage.md","operations/implementation/SKILL.md","profiles/implementer.toml","schemas/implementation-report-v1.json","skills/bug-root-cause-explainer/SKILL.md","skills/bug-root-cause-explainer/agents/openai.yaml","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/grilling/SKILL.md","skills/grilling/agents/openai.yaml","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/plan/SKILL.md","skills/plan/agents/openai.yaml","skills/prototype/LOGIC.md","skills/prototype/SKILL.md","skills/prototype/UI.md","skills/prototype/agents/openai.yaml","skills/research/SKILL.md","skills/research/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md","skills/tickets-orchestrator/SKILL.md","skills/tickets-orchestrator/agents/openai.yaml","skills/tickets-orchestrator/references/delegate-integrate.md","skills/tickets-orchestrator/references/finish-delivery.md","skills/tickets-orchestrator/references/stop-completion.md","skills/to-spec/SKILL.md","skills/to-spec/agents/openai.yaml","skills/to-tickets/SKILL.md","skills/to-tickets/agents/openai.yaml","skills/to-tickets/references/publishing-details.md"],"id":"implementation","outputSchema":"schemas/implementation-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"change-set","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"implementer","resources":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/tool-usage.md"],"reviewers":[],"sourceSkill":"implement"}},"profiles":{"implementer":"profiles/implementer.toml","review_coordinator":"profiles/review_coordinator.toml","spec_reviewer":"profiles/spec_reviewer.toml","standards_reviewer":"profiles/standards_reviewer.toml"},"skills":{"acceptance-proof":{"dependencySkills":[],"entry":"skills/acceptance-proof/SKILL.md","files":["skills/acceptance-proof/SKILL.md","skills/acceptance-proof/agents/openai.yaml","skills/acceptance-proof/references/android.md","skills/acceptance-proof/references/browser.md","skills/acceptance-proof/references/ios.md","skills/acceptance-proof/tools/ios-lease.mjs"],"metadata":"skills/acceptance-proof/agents/openai.yaml"},"bug-root-cause-explainer":{"dependencySkills":["diagnosing-bugs"],"entry":"skills/bug-root-cause-explainer/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/bugfix-quality-gate.md","docs/agents/confidence-rubric.md","skills/bug-root-cause-explainer/SKILL.md","skills/bug-root-cause-explainer/agents/openai.yaml","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/bug-root-cause-explainer/agents/openai.yaml"},"code-review":{"dependencySkills":[],"entry":"skills/code-review/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md"],"metadata":"skills/code-review/agents/openai.yaml"},"diagnosing-bugs":{"dependencySkills":[],"entry":"skills/diagnosing-bugs/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/bugfix-quality-gate.md","docs/agents/confidence-rubric.md","skills/bug-root-cause-explainer/SKILL.md","skills/bug-root-cause-explainer/agents/openai.yaml","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/diagnosing-bugs/agents/openai.yaml"},"grilling":{"dependencySkills":[],"entry":"skills/grilling/SKILL.md","files":["skills/grilling/SKILL.md","skills/grilling/agents/openai.yaml"],"metadata":"skills/grilling/agents/openai.yaml"},"implement":{"dependencySkills":[],"entry":"skills/implement/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/implement/agents/openai.yaml"},"plan":{"dependencySkills":[],"entry":"skills/plan/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/grilling/SKILL.md","skills/grilling/agents/openai.yaml","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/plan/SKILL.md","skills/plan/agents/openai.yaml","skills/research/SKILL.md","skills/research/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md","skills/to-spec/SKILL.md","skills/to-spec/agents/openai.yaml","skills/to-tickets/SKILL.md","skills/to-tickets/agents/openai.yaml","skills/to-tickets/references/publishing-details.md"],"metadata":"skills/plan/agents/openai.yaml"},"prototype":{"dependencySkills":[],"entry":"skills/prototype/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/prototype/LOGIC.md","skills/prototype/SKILL.md","skills/prototype/UI.md","skills/prototype/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/prototype/agents/openai.yaml"},"research":{"dependencySkills":[],"entry":"skills/research/SKILL.md","files":["skills/research/SKILL.md","skills/research/agents/openai.yaml"],"metadata":"skills/research/agents/openai.yaml"},"tdd":{"dependencySkills":[],"entry":"skills/tdd/SKILL.md","files":["skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/tdd/agents/openai.yaml"},"tickets-orchestrator":{"dependencySkills":[],"entry":"skills/tickets-orchestrator/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/research/SKILL.md","skills/research/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md","skills/tickets-orchestrator/SKILL.md","skills/tickets-orchestrator/agents/openai.yaml","skills/tickets-orchestrator/references/delegate-integrate.md","skills/tickets-orchestrator/references/finish-delivery.md","skills/tickets-orchestrator/references/stop-completion.md","skills/to-tickets/SKILL.md","skills/to-tickets/agents/openai.yaml","skills/to-tickets/references/publishing-details.md"],"metadata":"skills/tickets-orchestrator/agents/openai.yaml"},"to-spec":{"dependencySkills":[],"entry":"skills/to-spec/SKILL.md","files":["skills/research/SKILL.md","skills/research/agents/openai.yaml","skills/to-spec/SKILL.md","skills/to-spec/agents/openai.yaml","skills/to-tickets/SKILL.md","skills/to-tickets/agents/openai.yaml","skills/to-tickets/references/publishing-details.md"],"metadata":"skills/to-spec/agents/openai.yaml"},"to-tickets":{"dependencySkills":[],"entry":"skills/to-tickets/SKILL.md","files":["skills/research/SKILL.md","skills/research/agents/openai.yaml","skills/to-tickets/SKILL.md","skills/to-tickets/agents/openai.yaml","skills/to-tickets/references/publishing-details.md"],"metadata":"skills/to-tickets/agents/openai.yaml"}},"sourceFingerprint":"47c56614c6a5125bd4688e2963ab019af6e713f551121ec6a4adafe42f14b188","version":2}
|
|
1
|
+
{"evals":{"skill/bug-root-cause-explainer":{"owner":"bug-root-cause-explainer","path":"skills/bug-root-cause-explainer/evals/evals.json"},"skill/code-review":{"owner":"code-review","path":"skills/code-review/evals/evals.json"},"skill/diagnosing-bugs":{"owner":"diagnosing-bugs","path":"skills/diagnosing-bugs/evals/evals.json"},"skill/grilling":{"owner":"grilling","path":"skills/grilling/evals/evals.json"},"skill/implement":{"owner":"implement","path":"skills/implement/evals/evals.json"},"skill/plan":{"owner":"plan","path":"skills/plan/evals/evals.json"},"skill/prototype":{"owner":"prototype","path":"skills/prototype/evals/evals.json"},"skill/research":{"owner":"research","path":"skills/research/evals/evals.json"},"skill/tdd":{"owner":"tdd","path":"skills/tdd/evals/evals.json"},"skill/tickets-orchestrator":{"owner":"tickets-orchestrator","path":"skills/tickets-orchestrator/evals/evals.json"},"skill/to-spec":{"owner":"to-spec","path":"skills/to-spec/evals/evals.json"},"skill/to-tickets":{"owner":"to-tickets","path":"skills/to-tickets/evals/evals.json"}},"files":[{"mode":420,"path":"docs/agents/bug-workflow-routing.md","sha256":"96c35629bdf29fcaf7114bc2835d4ef94ac08d77ae218496c12c2a4e2419734b","size":1709},{"mode":420,"path":"docs/agents/bugfix-quality-gate.md","sha256":"caaed6c923adfe56f4b6dd89222a83493ef4dd4e8bdd2bad694f8a11f93541ae","size":709},{"mode":420,"path":"docs/agents/coding-skill-routing.md","sha256":"14e1d9a47df8282296a34ca3443b0a7a0cb05c9cc4a297dd4e1a9ba0d8d6d598","size":9546},{"mode":420,"path":"docs/agents/confidence-rubric.md","sha256":"42c947db2775380867e7adcfbdbe0f67b8f511b9ddf33a6eef8e1b0e995912c2","size":1883},{"mode":420,"path":"docs/agents/tool-usage.md","sha256":"7e1f52fff6c2a9c573851d682cacf85ef7c22d67c00eb2667ca6f06ec5a6f9b0","size":5069},{"mode":420,"path":"operations/acceptance-proof/SKILL.md","sha256":"c33a04bf8dfcb59982f60b232633b0e48e9de4ec375cd02f52ec71f9fce30de6","size":440},{"mode":420,"path":"operations/code-review/SKILL.md","sha256":"5483d29364ab73d16fd28e8117fae17e300b7ea80235e3ceb5415b296b7defed","size":2594},{"mode":420,"path":"operations/implementation/SKILL.md","sha256":"16f48cd2a1d3c106773ec0af8c13912cb44bf36d50ccef601e0290eeb0262345","size":2102},{"mode":420,"path":"profiles/implementer.toml","sha256":"e0f77690a6308d20f208d5230accb1d23163c73f3df0ea4a81725c8e3ff3b0b5","size":840},{"mode":420,"path":"profiles/review_coordinator.toml","sha256":"ef9197959946e141334c182897e3335d0243f05afd4ad81288a8481e0efd3795","size":681},{"mode":420,"path":"profiles/spec_reviewer.toml","sha256":"2dd198709c887f5b613461d4ae2b04405ff928cf566a43a731a5f51d67d745bb","size":770},{"mode":420,"path":"profiles/standards_reviewer.toml","sha256":"327c477315595dd50489873a05c7aa0c5ff51afb877bb0746d569ff4e33180fb","size":896},{"mode":420,"path":"schemas/code-review-v1.json","sha256":"756d7aecacb47f1a90d63933a8564fca3211a10bb929b804808c395c385499e1","size":2615},{"mode":420,"path":"schemas/implementation-report-v1.json","sha256":"072fb02e64d856053870646ff12d53f355551706c3b5a3a542010b577c452322","size":4412},{"mode":420,"path":"schemas/proof-report-v1.json","sha256":"104db803c066e42ed5493fec7eecc7e3788fce622df33d5ad4016aba7946f8c8","size":21244},{"mode":420,"path":"skills/acceptance-proof/SKILL.md","sha256":"6f2d85dfebfd47b2ec7ede95f2e02417b3f0ad860d333360b040d31e3c609525","size":1777},{"mode":420,"path":"skills/acceptance-proof/agents/openai.yaml","sha256":"d602d9f2e1bf618a71171729c6f354dd137c939cb433bd49afec678360e1189f","size":265},{"mode":420,"path":"skills/acceptance-proof/references/android.md","sha256":"b62fea63f53f79a8978df81608a7c1f48fa9f06084fba8382904a8f8c8dff9bc","size":2940},{"mode":420,"path":"skills/acceptance-proof/references/browser.md","sha256":"ceefa4fd7db475b6162368511c2742b6d9c6af58d48e7d5d8a773ed5cc3938c4","size":2281},{"mode":420,"path":"skills/acceptance-proof/references/ios.md","sha256":"ae18be2632e1f7c3aa0810a1bafafc7760c807b30b1269408825aa14c224d493","size":2486},{"mode":420,"path":"skills/acceptance-proof/tools/ios-lease.mjs","sha256":"6e1e0d95c6a8b2d42c34de05bd4446eac23e3916bffccb027f236b8a8a1809a3","size":13834},{"mode":420,"path":"skills/bug-root-cause-explainer/SKILL.md","sha256":"972305d2d4231b6eb7b39196eb49bc167e0a7f89ab86918ef5ad71a34d9bda43","size":5474},{"mode":420,"path":"skills/bug-root-cause-explainer/agents/openai.yaml","sha256":"a65d3f3b50d38309ef54618e0c00f656ac17a5bee5cc5a5c5faf3bc10954caef","size":403},{"mode":420,"path":"skills/bug-root-cause-explainer/evals/evals.json","sha256":"a2783a1e6be8fd7ca5af3821379cff7a6b8565ae33a8ed194b38573eabba4414","size":656},{"mode":420,"path":"skills/code-review/SKILL.md","sha256":"1940d0ba7cdfe13b51a139e220f6ec4278afdaef16d269dabbedbc8beee86299","size":5319},{"mode":420,"path":"skills/code-review/agents/openai.yaml","sha256":"cfc3d99b7fbe8cfe04ac994acaacf11ae73dcf1da59dcd2c248d779d415c8413","size":314},{"mode":420,"path":"skills/code-review/evals/evals.json","sha256":"2c2704c450a7e250bf869adc4459a5018ab563402a188ba6b53d743040ac7b0d","size":4625},{"mode":420,"path":"skills/code-review/references/standards-smells.md","sha256":"e14cf49716f832ea9e6b43cadcac255b8cf3ffe0712b923e68c7c9a69d46a387","size":2408},{"mode":420,"path":"skills/diagnosing-bugs/SKILL.md","sha256":"95c48af453d9d99fbcd8ceb1335c1794d110d94a7783dec9185f41d71b7e21c6","size":11826},{"mode":420,"path":"skills/diagnosing-bugs/agents/openai.yaml","sha256":"0ae35c16a55e0efa5de2ac756e07a2b058c562a89c53e149145f5de1584e24e6","size":373},{"mode":420,"path":"skills/diagnosing-bugs/evals/evals.json","sha256":"9881149ebe47c9443ff8e7f2dcf02725d742a84806de6e33ec2ba49d31dbc2a2","size":2557},{"mode":420,"path":"skills/diagnosing-bugs/scripts/hitl-loop.template.sh","sha256":"b2932630950e5210075bcd6f850e5accf30c101c5367b29eac3a29b4dd8084c8","size":1164},{"mode":420,"path":"skills/grilling/SKILL.md","sha256":"ff7a5707e1320212c9f9bec18507566ce5eed0eee1a4990e9d09074ca76a335b","size":2552},{"mode":420,"path":"skills/grilling/agents/openai.yaml","sha256":"16acd9a4929237685beb879ad38e6235f02e11475cf2a865c443c4d50997c5d8","size":358},{"mode":420,"path":"skills/grilling/evals/evals.json","sha256":"30c3e7137d296156d74b69ee25640e43c82ae650f0f07ed76f12206b34124c39","size":1778},{"mode":420,"path":"skills/implement/SKILL.md","sha256":"44e20ff864a3545ff5e5ca128b1c720c7195591bfdc83a63a6f663e73d6acf03","size":7725},{"mode":420,"path":"skills/implement/agents/openai.yaml","sha256":"2ef457435557419cb11139b4172813ee0ca711630df81a1192532c7e8cf8006e","size":266},{"mode":420,"path":"skills/implement/evals/evals.json","sha256":"95c264ea8effa7e5e648f3c2d2315088d1f3fc1aed9c7eaaf7d89fbf029601ee","size":7343},{"mode":420,"path":"skills/plan/SKILL.md","sha256":"d3b0c6811f42cca559f77c2bcc7ab055be6bce23ef6b9edac06b8e0e42c57baa","size":3846},{"mode":420,"path":"skills/plan/agents/openai.yaml","sha256":"8fffc0a16f3577c93988233529a671db94a6dea55be0ae3fd29e7a6109ae13cf","size":311},{"mode":420,"path":"skills/plan/evals/evals.json","sha256":"8e480d728f8f4bd8d27fbda04c241f2aaebcffa9f70e9cab4ba46d1e89cec406","size":4092},{"mode":420,"path":"skills/prototype/LOGIC.md","sha256":"1a6a50011e81db9bf786eb98131d5125b4965681cc5c4d5db3b6dd2a39478c07","size":5828},{"mode":420,"path":"skills/prototype/SKILL.md","sha256":"b185dde586efa763c1fc5dec7b44ed54b0b02a07183e95d7658e5dea4d31424b","size":4027},{"mode":420,"path":"skills/prototype/UI.md","sha256":"39d6c54ad1ece13e87157dbb80fdfe7b627d21368d93889d787af6a9be3c1467","size":6798},{"mode":420,"path":"skills/prototype/agents/openai.yaml","sha256":"b84be88538b40eb72f6b819c939b11d92e29dcb2bed91fba7cd67a0ca6ac3bad","size":301},{"mode":420,"path":"skills/prototype/evals/evals.json","sha256":"7619c1c5b41c3c62c870c557623d49d788d6672828f887b31fff2ab3a390a82a","size":2928},{"mode":420,"path":"skills/research/SKILL.md","sha256":"3effbfd0db25f32330fc34887e6c553b2b062ca605f0df98462a207df44b1373","size":4757},{"mode":420,"path":"skills/research/agents/openai.yaml","sha256":"4475cf777225f81a1c45937389d55f2b485b039b36e8378ef6b001e24f3fd1fe","size":254},{"mode":420,"path":"skills/research/evals/evals.json","sha256":"ba1c1f1a9c841ca3d25faebcfe84dd30993a50dbd9d04274e215c2f44a369554","size":1973},{"mode":420,"path":"skills/tdd/SKILL.md","sha256":"c4ef54fe809fb8fa4c55de2810210f9991f85fa442c73797e575d59c9b99d4fe","size":4397},{"mode":420,"path":"skills/tdd/agents/openai.yaml","sha256":"62f91ed072157ada9471fece9e9265a9bb7c9eb07fc1453794f4ccf5d107083c","size":285},{"mode":420,"path":"skills/tdd/evals/evals.json","sha256":"58cfcd7c2fedc80e4f1431e4c52481849522944730639265323516c12c70b905","size":1202},{"mode":420,"path":"skills/tdd/interface-design.md","sha256":"764c5ff0e3fa6b4ab7095eb65ccc7201e090baf19fa16051dfdb72c06d27417d","size":653},{"mode":420,"path":"skills/tdd/mocking.md","sha256":"36891842b9ff463daf1c68e65eb25df6bcc734f476a0d23c930e757c150c7451","size":1817},{"mode":420,"path":"skills/tdd/refactoring.md","sha256":"28e5278dac743bc1a37bf5b5e3beba84fe90c0d63ea59abfb5cc206b8667684e","size":398},{"mode":420,"path":"skills/tdd/tests.md","sha256":"6773173a074569b2e51653bd7b95c097d602dbb4815d1cf1c87344705c4e0d1c","size":2228},{"mode":420,"path":"skills/tickets-orchestrator/SKILL.md","sha256":"161db5cbe9304778f6467f6c5293806cdbded8f56b2cc3c380e79c55215987e1","size":11663},{"mode":420,"path":"skills/tickets-orchestrator/agents/openai.yaml","sha256":"a130bb5c109e9385bdcca4edc583f63c0199fe9673c334ba5e336900e9de606a","size":412},{"mode":420,"path":"skills/tickets-orchestrator/evals/evals.json","sha256":"0f2cb1544f8702dd308c8c1b3a210e3428e36028685c515ab19ab161af1e3d55","size":10076},{"mode":420,"path":"skills/tickets-orchestrator/references/delegate-integrate.md","sha256":"7a9db8963457b5491e7c8b7bc7c1ddac72a3a02053999f0a82aca2917fadfb14","size":5183},{"mode":420,"path":"skills/tickets-orchestrator/references/finish-delivery.md","sha256":"cdcafc0f908ff67c810301934721d006f4b791087b9362e29a41c92e88dd1121","size":4246},{"mode":420,"path":"skills/tickets-orchestrator/references/stop-completion.md","sha256":"21ec3fcfc9acbdc9db040b1cf8a1740cc4e18be1dc8827b7f66edca0d611c3dd","size":3568},{"mode":420,"path":"skills/to-spec/SKILL.md","sha256":"8b213fb2e7b47786b9614c78892f7de0a8c41751ccbe3822ba3f2b524ecab63a","size":6243},{"mode":420,"path":"skills/to-spec/agents/openai.yaml","sha256":"02221785807ff9219a80d71f66759f354c417ee003b1ed56787962220c272e21","size":292},{"mode":420,"path":"skills/to-spec/evals/evals.json","sha256":"fb2e28f6a9df402d8306d27fb04bddaaabc55afcc4373f3b8e579ee3bb38cc28","size":2801},{"mode":420,"path":"skills/to-tickets/SKILL.md","sha256":"6a3faa3a5a2d84cc0a4b588d8b5ddf7989f7f620707b16c1590c5499d5e055ab","size":12951},{"mode":420,"path":"skills/to-tickets/agents/openai.yaml","sha256":"88383101109fef9926340fcea294e5d59c279d81bafe57f1f6a2d0efabdf4b84","size":342},{"mode":420,"path":"skills/to-tickets/evals/evals.json","sha256":"d539ddf0f3d23f6c3c26e19f430a165b45683e5ce0146d1fba450b22098f8e97","size":9286},{"mode":420,"path":"skills/to-tickets/references/publishing-details.md","sha256":"482144c7bef9631e1007845ebe34468eaa435c3f6d6cd3c0d7b34a65bdc6fca6","size":4848}],"generationHash":"c1174457079c9f86ecc0175ce3747059021bb5c7ea699ca496f9c31bf7722976","operations":{"acceptance-proof":{"dependencySkills":[],"entry":"operations/acceptance-proof/SKILL.md","files":["operations/acceptance-proof/SKILL.md","profiles/implementer.toml","schemas/proof-report-v1.json","skills/acceptance-proof/SKILL.md","skills/acceptance-proof/agents/openai.yaml","skills/acceptance-proof/references/android.md","skills/acceptance-proof/references/browser.md","skills/acceptance-proof/references/ios.md","skills/acceptance-proof/tools/ios-lease.mjs"],"id":"acceptance-proof","outputSchema":"schemas/proof-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"proof-only","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"implementer","resources":[],"reviewers":[],"sourceSkill":"acceptance-proof"},"code-review":{"dependencySkills":[],"entry":"operations/code-review/SKILL.md","files":["docs/agents/confidence-rubric.md","operations/code-review/SKILL.md","profiles/review_coordinator.toml","profiles/spec_reviewer.toml","profiles/standards_reviewer.toml","schemas/code-review-v1.json","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md"],"id":"code-review","outputSchema":"schemas/code-review-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"review_coordinator","resources":["docs/agents/confidence-rubric.md"],"reviewers":["spec_reviewer","standards_reviewer"],"sourceSkill":"code-review"},"implementation":{"dependencySkills":["diagnosing-bugs","tdd"],"entry":"operations/implementation/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/bugfix-quality-gate.md","docs/agents/coding-skill-routing.md","docs/agents/confidence-rubric.md","docs/agents/tool-usage.md","operations/implementation/SKILL.md","profiles/implementer.toml","schemas/implementation-report-v1.json","skills/bug-root-cause-explainer/SKILL.md","skills/bug-root-cause-explainer/agents/openai.yaml","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/grilling/SKILL.md","skills/grilling/agents/openai.yaml","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/plan/SKILL.md","skills/plan/agents/openai.yaml","skills/prototype/LOGIC.md","skills/prototype/SKILL.md","skills/prototype/UI.md","skills/prototype/agents/openai.yaml","skills/research/SKILL.md","skills/research/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md","skills/tickets-orchestrator/SKILL.md","skills/tickets-orchestrator/agents/openai.yaml","skills/tickets-orchestrator/references/delegate-integrate.md","skills/tickets-orchestrator/references/finish-delivery.md","skills/tickets-orchestrator/references/stop-completion.md","skills/to-spec/SKILL.md","skills/to-spec/agents/openai.yaml","skills/to-tickets/SKILL.md","skills/to-tickets/agents/openai.yaml","skills/to-tickets/references/publishing-details.md"],"id":"implementation","outputSchema":"schemas/implementation-report-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"change-set","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["worktree"]},"profile":"implementer","resources":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/tool-usage.md"],"reviewers":[],"sourceSkill":"implement"}},"profiles":{"implementer":"profiles/implementer.toml","review_coordinator":"profiles/review_coordinator.toml","spec_reviewer":"profiles/spec_reviewer.toml","standards_reviewer":"profiles/standards_reviewer.toml"},"skills":{"acceptance-proof":{"dependencySkills":[],"entry":"skills/acceptance-proof/SKILL.md","files":["skills/acceptance-proof/SKILL.md","skills/acceptance-proof/agents/openai.yaml","skills/acceptance-proof/references/android.md","skills/acceptance-proof/references/browser.md","skills/acceptance-proof/references/ios.md","skills/acceptance-proof/tools/ios-lease.mjs"],"metadata":"skills/acceptance-proof/agents/openai.yaml"},"bug-root-cause-explainer":{"dependencySkills":["diagnosing-bugs"],"entry":"skills/bug-root-cause-explainer/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/bugfix-quality-gate.md","docs/agents/confidence-rubric.md","skills/bug-root-cause-explainer/SKILL.md","skills/bug-root-cause-explainer/agents/openai.yaml","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/bug-root-cause-explainer/agents/openai.yaml"},"code-review":{"dependencySkills":[],"entry":"skills/code-review/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md"],"metadata":"skills/code-review/agents/openai.yaml"},"diagnosing-bugs":{"dependencySkills":[],"entry":"skills/diagnosing-bugs/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/bugfix-quality-gate.md","docs/agents/confidence-rubric.md","skills/bug-root-cause-explainer/SKILL.md","skills/bug-root-cause-explainer/agents/openai.yaml","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/diagnosing-bugs/agents/openai.yaml"},"grilling":{"dependencySkills":[],"entry":"skills/grilling/SKILL.md","files":["skills/grilling/SKILL.md","skills/grilling/agents/openai.yaml"],"metadata":"skills/grilling/agents/openai.yaml"},"implement":{"dependencySkills":[],"entry":"skills/implement/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/implement/agents/openai.yaml"},"plan":{"dependencySkills":[],"entry":"skills/plan/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/grilling/SKILL.md","skills/grilling/agents/openai.yaml","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/plan/SKILL.md","skills/plan/agents/openai.yaml","skills/research/SKILL.md","skills/research/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md","skills/to-spec/SKILL.md","skills/to-spec/agents/openai.yaml","skills/to-tickets/SKILL.md","skills/to-tickets/agents/openai.yaml","skills/to-tickets/references/publishing-details.md"],"metadata":"skills/plan/agents/openai.yaml"},"prototype":{"dependencySkills":[],"entry":"skills/prototype/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/prototype/LOGIC.md","skills/prototype/SKILL.md","skills/prototype/UI.md","skills/prototype/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/prototype/agents/openai.yaml"},"research":{"dependencySkills":[],"entry":"skills/research/SKILL.md","files":["skills/research/SKILL.md","skills/research/agents/openai.yaml"],"metadata":"skills/research/agents/openai.yaml"},"tdd":{"dependencySkills":[],"entry":"skills/tdd/SKILL.md","files":["skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md"],"metadata":"skills/tdd/agents/openai.yaml"},"tickets-orchestrator":{"dependencySkills":[],"entry":"skills/tickets-orchestrator/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/standards-smells.md","skills/implement/SKILL.md","skills/implement/agents/openai.yaml","skills/research/SKILL.md","skills/research/agents/openai.yaml","skills/tdd/SKILL.md","skills/tdd/agents/openai.yaml","skills/tdd/interface-design.md","skills/tdd/mocking.md","skills/tdd/refactoring.md","skills/tdd/tests.md","skills/tickets-orchestrator/SKILL.md","skills/tickets-orchestrator/agents/openai.yaml","skills/tickets-orchestrator/references/delegate-integrate.md","skills/tickets-orchestrator/references/finish-delivery.md","skills/tickets-orchestrator/references/stop-completion.md","skills/to-tickets/SKILL.md","skills/to-tickets/agents/openai.yaml","skills/to-tickets/references/publishing-details.md"],"metadata":"skills/tickets-orchestrator/agents/openai.yaml"},"to-spec":{"dependencySkills":[],"entry":"skills/to-spec/SKILL.md","files":["skills/research/SKILL.md","skills/research/agents/openai.yaml","skills/to-spec/SKILL.md","skills/to-spec/agents/openai.yaml","skills/to-tickets/SKILL.md","skills/to-tickets/agents/openai.yaml","skills/to-tickets/references/publishing-details.md"],"metadata":"skills/to-spec/agents/openai.yaml"},"to-tickets":{"dependencySkills":[],"entry":"skills/to-tickets/SKILL.md","files":["skills/research/SKILL.md","skills/research/agents/openai.yaml","skills/to-tickets/SKILL.md","skills/to-tickets/agents/openai.yaml","skills/to-tickets/references/publishing-details.md"],"metadata":"skills/to-tickets/agents/openai.yaml"}},"sourceFingerprint":"d0642c06914fb33b7d0c881550aea801b74d82579b2b52e41fa225d98341074d","version":2}
|
|
@@ -5,5 +5,5 @@ model = "gpt-5.6-sol"
|
|
|
5
5
|
model_reasoning_effort = "medium"
|
|
6
6
|
sandbox_mode = "workspace-write"
|
|
7
7
|
developer_instructions = """
|
|
8
|
-
Implement only the
|
|
8
|
+
Implement only the authorized ticket outcome through its observable seam. Preserve unrelated work and stop on overlap or decision drift. Treat listed files as starting points, not an exhaustive allowlist. You may update directly affected callers, tests, fixtures, and wiring when required to complete the same outcome and pass its checks. Stop when completion requires new product behavior, an ownership change, unrelated work, or a new decision. Never stage, commit, push, open a PR, or modify tracker state. Return changed files, proof, skipped checks, risks, and blockers to root.
|
|
9
9
|
"""
|
|
@@ -32,6 +32,12 @@ file/line, trigger, impact, and evidence. Treat unsupported preferences,
|
|
|
32
32
|
hypothetical hardening, and architecture or cleanup beyond the outcome as
|
|
33
33
|
`OBSERVATION`.
|
|
34
34
|
|
|
35
|
+
Treat unsupported machinery as a scope blocker when the target adds runtime
|
|
36
|
+
behavior, ownership, persisted state, compatibility, or a public contract that
|
|
37
|
+
neither the authorized outcome nor a proven failure path requires. Keep private
|
|
38
|
+
implementation preferences as observations unless they cause a concrete
|
|
39
|
+
defect.
|
|
40
|
+
|
|
35
41
|
For Standards, read [standards-smells.md](references/standards-smells.md).
|
|
36
42
|
Fowler smells remain non-blocking observations unless separate evidence meets the blocker
|
|
37
43
|
threshold. Repository policy wins, and tooling-enforced rules need no duplicate
|
|
@@ -62,6 +68,8 @@ only when the authorized outcome requires it.
|
|
|
62
68
|
- `standards_reviewer` checks correctness, failure paths, policy, cleanup,
|
|
63
69
|
zero legacy, duplicate ownership, unnecessary machinery, and the smell
|
|
64
70
|
baseline without inventing product obligations.
|
|
71
|
+
- Standards returns one compact `Minimum solution` line naming the direct
|
|
72
|
+
path, necessary additions, and removable additions, if any.
|
|
65
73
|
4. Use fresh children without history fork (`fork_context=false` on V1;
|
|
66
74
|
`fork_turns="none"` on V2). Capture every non-empty child identity and wait
|
|
67
75
|
for those same children. An empty bounded wait means wait again, not failure.
|
|
@@ -78,6 +78,31 @@
|
|
|
78
78
|
"rerun Standards without an affected Standards surface",
|
|
79
79
|
"repeat the complete review"
|
|
80
80
|
]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": "unsupported-runtime-machinery-blocks",
|
|
84
|
+
"prompt": "The settled diff adds a runtime registry and compatibility path that the authorized outcome and proven failure path do not require; deleting both preserves behavior and proof.",
|
|
85
|
+
"expected": [
|
|
86
|
+
"report scope blockers for the unsupported runtime machinery",
|
|
87
|
+
"prefer deletion",
|
|
88
|
+
"name the direct path and removable additions in Minimum solution"
|
|
89
|
+
],
|
|
90
|
+
"forbidden": [
|
|
91
|
+
"downgrade the scope expansion to a style preference",
|
|
92
|
+
"harden the registry or compatibility path"
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": "approved-required-mechanism-remains",
|
|
97
|
+
"prompt": "The user explicitly approved a new persisted contract, and repository evidence proves the direct existing path cannot preserve required in-flight state.",
|
|
98
|
+
"expected": [
|
|
99
|
+
"treat the new contract as authorized and necessary",
|
|
100
|
+
"review its correctness and proof without deleting it"
|
|
101
|
+
],
|
|
102
|
+
"forbidden": [
|
|
103
|
+
"remove the required contract solely to reduce complexity",
|
|
104
|
+
"classify confirmed authority as speculative generality"
|
|
105
|
+
]
|
|
81
106
|
}
|
|
82
107
|
]
|
|
83
108
|
}
|
|
@@ -17,7 +17,10 @@ create a replacement plan, spec, ticket, workflow state, or compatibility path.
|
|
|
17
17
|
forbids or reserves Git. Push and PR are separate and never implicit.
|
|
18
18
|
- **Preservation:** read repository policy and current status before edits.
|
|
19
19
|
Preserve unrelated work and user-owned runtimes. Stop on overlapping dirty
|
|
20
|
-
scope
|
|
20
|
+
scope. Stop and ask the user before making any behavior, ownership, or
|
|
21
|
+
boundary decision not explicitly settled by the approved request;
|
|
22
|
+
implementation approval does not authorize decisions discovered during
|
|
23
|
+
implementation.
|
|
21
24
|
- **Proof:** prove the final observable outcome through the real caller seam.
|
|
22
25
|
Authority-defined proof cannot be replaced by weaker tests or a completion
|
|
23
26
|
claim.
|
|
@@ -30,13 +33,14 @@ For one executable ticket, root launches exactly one fresh `implementer` child.
|
|
|
30
33
|
The assignment must include:
|
|
31
34
|
|
|
32
35
|
- the complete ticket;
|
|
33
|
-
-
|
|
36
|
+
- bounded Parent acceptance context and a read-only complete-PRD reference;
|
|
34
37
|
- applicable repository policy;
|
|
35
38
|
- bounded write scope and exclusions;
|
|
36
39
|
- required proof and explicit delivery/Git boundaries.
|
|
37
40
|
|
|
38
|
-
|
|
39
|
-
|
|
41
|
+
Begin with `Assigned role: implementer`, name the ticket as the only executable
|
|
42
|
+
scope, and put its complete body before Parent context. Include the complete
|
|
43
|
+
Parent only when its relevant constraints cannot be separated safely.
|
|
40
44
|
|
|
41
45
|
The worker performs no Git actions and returns changed files, observable proof,
|
|
42
46
|
skipped checks, risks, decision deltas, overlap, and blockers. Root verifies a
|
|
@@ -105,6 +105,18 @@
|
|
|
105
105
|
"treat the new obligation as an in-scope repair"
|
|
106
106
|
]
|
|
107
107
|
},
|
|
108
|
+
{
|
|
109
|
+
"id": "discovered-product-decision-stops",
|
|
110
|
+
"prompt": "While implementing an approved local change, you discover that it conflicts with the existing strictness=0 bypass. The request did not specify which behavior should win.",
|
|
111
|
+
"expected": [
|
|
112
|
+
"stop before changing either behavior",
|
|
113
|
+
"ask the user to decide"
|
|
114
|
+
],
|
|
115
|
+
"forbidden": [
|
|
116
|
+
"treat implementation approval as authority to choose",
|
|
117
|
+
"resolve the conflict based on technical preference"
|
|
118
|
+
]
|
|
119
|
+
},
|
|
108
120
|
{
|
|
109
121
|
"id": "necessary-neighbor-inside-impact-cone",
|
|
110
122
|
"prompt": "A verified persistence blocker can only be repaired by changing the owner file plus a necessary neighboring serializer inside explicit repository boundaries, without changing the authorized outcome.",
|
|
@@ -28,6 +28,28 @@ without a planning artifact.
|
|
|
28
28
|
The Parent PRD is the sole product and final-acceptance authority. Tickets are
|
|
29
29
|
local executable slices; they do not duplicate that authority.
|
|
30
30
|
|
|
31
|
+
## Minimum solution
|
|
32
|
+
|
|
33
|
+
Before settling a plan:
|
|
34
|
+
|
|
35
|
+
1. State the direct solution through existing owners and seams.
|
|
36
|
+
2. Keep only mechanisms required by user authority, repository invariants, or
|
|
37
|
+
proven failure paths.
|
|
38
|
+
3. Keep agent recommendations as proposals; saving a draft is not approval.
|
|
39
|
+
4. Delete any mechanism whose removal preserves required behavior and credible
|
|
40
|
+
proof.
|
|
41
|
+
|
|
42
|
+
Complete when every binding mechanism has authority and demonstrated necessity.
|
|
43
|
+
|
|
44
|
+
When Plan composes a planning artifact, use one fresh `standards_reviewer` only
|
|
45
|
+
when the user explicitly requests independent review of that artifact or
|
|
46
|
+
repository policy requires it. Provide authority and draft separately; the
|
|
47
|
+
draft is never its own authority. Review source fidelity and minimum solution,
|
|
48
|
+
return `APPROVE` or `NEEDS_WORK`, and keep Plan as the sole composition owner.
|
|
49
|
+
|
|
50
|
+
Review validates the settled artifact being composed; it does not apply to a
|
|
51
|
+
read-only evaluation of an existing artifact.
|
|
52
|
+
|
|
31
53
|
## Durable composition
|
|
32
54
|
|
|
33
55
|
Plan owns the composition sequence. `$to-spec` owns PRD synthesis,
|
|
@@ -53,7 +75,7 @@ through an alias, wrapper, adapter, fallback, or compatibility route.
|
|
|
53
75
|
|
|
54
76
|
- Planning output, issue relationships, and labels never authorize delivery.
|
|
55
77
|
- Do not create a second planning artifact after executable tickets exist.
|
|
56
|
-
- Do not invoke
|
|
78
|
+
- Do not invoke `$code-review` or delivery Review while planning.
|
|
57
79
|
- If behavior, scope, ownership, ticket boundaries, blockers, or proof
|
|
58
80
|
obligations remain unresolved, keep them visible as a user decision or a
|
|
59
81
|
blocking discovery/HITL ticket; never guess.
|
|
@@ -31,6 +31,30 @@
|
|
|
31
31
|
"prompt": "Compose a durable PRD and executable ticket packet without duplicating workflow mechanics across skills.",
|
|
32
32
|
"expected": ["keep Plan as the sole composition owner", "delegate PRD synthesis to to-spec", "delegate ticket count, slicing, review, approval, publication, and read-back to to-tickets"],
|
|
33
33
|
"forbidden": ["let to-spec determine ticket count", "duplicate publication mechanics in Plan"]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "local-fix-conserves-scope",
|
|
37
|
+
"prompt": "Plan a fix for one proven subcategory pairing defect while other search modes already work.",
|
|
38
|
+
"expected": ["state the direct fix in the existing owner", "keep other search modes unchanged", "delete a universal resolver and legacy reconstruction unless evidence requires them"],
|
|
39
|
+
"forbidden": ["promote agent proposals into approved architecture", "redesign every search mode for completeness"]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "simple-fix-skips-planning",
|
|
43
|
+
"prompt": "Fix one clear local behavior with no product or ownership decision gap and no durable handoff need.",
|
|
44
|
+
"expected": ["route directly to Implement"],
|
|
45
|
+
"forbidden": ["create a PRD", "launch plan review"]
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "independent-plan-review-separates-authority",
|
|
49
|
+
"prompt": "Repository policy requires independent review of a plan-only durable draft that adds an unconfirmed runtime registry before it is saved.",
|
|
50
|
+
"expected": ["remove the registry or return it for explicit approval before review", "review only the settled draft expected to approve", "provide authority and draft separately", "keep Plan as composition owner"],
|
|
51
|
+
"forbidden": ["launch review while the registry is unconfirmed", "treat the draft as its own authority", "invoke implementation code-review"]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "review-waits-for-settled-plan",
|
|
55
|
+
"prompt": "Prepare a durable plan while repository source inventory and one ownership decision are still unresolved.",
|
|
56
|
+
"expected": ["finish discovery or expose the unresolved decision before review", "launch independent review only for a settled draft expected to approve"],
|
|
57
|
+
"forbidden": ["use the reviewer to complete discovery", "let the reviewer design the solution"]
|
|
34
58
|
}
|
|
35
59
|
]
|
|
36
60
|
}
|
|
@@ -19,8 +19,8 @@ proof and review path.
|
|
|
19
19
|
|
|
20
20
|
Do not implement a planning-context Parent when executable children exist.
|
|
21
21
|
Root must not implement a full child or merge ticket boundaries. A ticket that
|
|
22
|
-
cannot execute from its body plus
|
|
23
|
-
fails closed.
|
|
22
|
+
cannot execute from its body plus a bounded Parent context packet is a
|
|
23
|
+
ticket-packet defect and fails closed.
|
|
24
24
|
|
|
25
25
|
Every child must authorize a committed product delta. Treat a transient-evidence
|
|
26
26
|
or comment-only child as a ticket-packet defect: return it to `$to-tickets`
|
|
@@ -37,13 +37,11 @@ Before work, require:
|
|
|
37
37
|
- repository policy, bounded child write scopes and exclusions; and
|
|
38
38
|
- deterministic proof obligations that exercise the target coordinator state.
|
|
39
39
|
|
|
40
|
-
Every child receives a unique fresh `implementer
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
return changed files, local proof, skipped checks, risks, Decision Deltas,
|
|
46
|
-
overlap, and blockers. Any worker Git event fails the child.
|
|
40
|
+
Every child receives a unique fresh `implementer` under the brief contract in
|
|
41
|
+
[delegate-integrate.md](references/delegate-integrate.md): the complete child
|
|
42
|
+
ticket is its only executable scope; Parent material is bounded acceptance
|
|
43
|
+
context. Capture a non-empty identity, wait for that same worker, and fail the
|
|
44
|
+
child on any worker Git event.
|
|
47
45
|
|
|
48
46
|
Root is the only integrator and Git writer. After the required gates pass, root
|
|
49
47
|
automatically creates a scoped child or wave checkpoint. Push and PR always
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
{
|
|
12
12
|
"id": "fresh-worker-assignment-and-git-owner",
|
|
13
13
|
"prompt": "Start two children in an approved graph from a clean isolated integration worktree.",
|
|
14
|
-
"expected": ["use a unique fresh implementer for every ticket", "
|
|
14
|
+
"expected": ["use a unique fresh implementer for every ticket", "name the child as the only executable scope and put its complete ticket first", "include a minimum sufficient source-identified Parent context packet with a complete-PRD reference, repository policy, and bounded write scope", "reserve all Git actions to root"],
|
|
15
15
|
"forbidden": ["reuse a worker context", "let a worker stage or commit", "implement a full child on root"]
|
|
16
16
|
},
|
|
17
17
|
{
|
|
@@ -4,10 +4,35 @@
|
|
|
4
4
|
|
|
5
5
|
Launch one unique fresh `implementer` per child. Root never keeps a ticket for
|
|
6
6
|
itself, splits one child among workers, or reuses a prior worker context. Begin
|
|
7
|
-
the assignment with
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
the assignment with the role and named child as its only executable scope, then
|
|
8
|
+
put the complete ticket before scope, proof, stop/Git boundaries, Parent
|
|
9
|
+
context, and repository policy.
|
|
10
|
+
|
|
11
|
+
Parent context is acceptance authority, not scope. Quote only source-identified
|
|
12
|
+
Parent sections that constrain the child and link the complete PRD for read-only
|
|
13
|
+
inspection. Include the complete Parent only when those constraints cannot be
|
|
14
|
+
separated safely or remain ambiguous.
|
|
15
|
+
|
|
16
|
+
Use this compact brief shape:
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
Assigned role: implementer
|
|
20
|
+
Your only executable scope is ticket #<id>. Do not implement sibling tickets
|
|
21
|
+
or other Parent requirements.
|
|
22
|
+
|
|
23
|
+
COMPLETE CHILD TICKET #<id>
|
|
24
|
+
<verbatim ticket>
|
|
25
|
+
|
|
26
|
+
SCOPE / EXCLUSIONS / PROOF / STOP / NO-GIT
|
|
27
|
+
<bounded instructions>
|
|
28
|
+
|
|
29
|
+
PARENT CONTEXT — acceptance authority only
|
|
30
|
+
<verbatim relevant sections with headings or anchors>
|
|
31
|
+
Complete Parent PRD (read-only): <reference>
|
|
32
|
+
|
|
33
|
+
REPOSITORY POLICY / CONCURRENT WORK
|
|
34
|
+
<applicable instructions>
|
|
35
|
+
```
|
|
11
36
|
|
|
12
37
|
Record a non-empty identity and complete the wait for that same worker. Require
|
|
13
38
|
changed files, local proof, skipped checks, risks, Decision Deltas, overlap, and
|
|
@@ -62,7 +62,12 @@ explicit confirmation.
|
|
|
62
62
|
behavior, proof, or ownership, and ask the user only when a seam choice
|
|
63
63
|
changes scope, risk, or ownership.
|
|
64
64
|
|
|
65
|
-
3.
|
|
65
|
+
3. Apply scope conservation before writing. Prefer the direct existing-seam
|
|
66
|
+
solution, delete unsupported machinery, and put unresolved behavior,
|
|
67
|
+
ownership, or architecture choices in `Decisions For Approval`. Complete
|
|
68
|
+
when no agent proposal appears as an approved implementation decision.
|
|
69
|
+
|
|
70
|
+
4. Write the template below, then follow the requested mode. A standalone
|
|
66
71
|
planning-context issue is marked `Artifact: planning-context`; it is not an
|
|
67
72
|
implementation ticket and receives no triage state.
|
|
68
73
|
|
|
@@ -25,6 +25,18 @@
|
|
|
25
25
|
"prompt": "The agent proposed a facade and prerequisite refactor, then the user said to save the plan without explicitly approving either proposal.",
|
|
26
26
|
"expected": ["keep the facade and refactor as proposals", "place any proposed runtime owner, abstraction, or prerequisite refactor in Decisions For Approval"],
|
|
27
27
|
"forbidden": ["promote the facade or refactor to a confirmed decision", "treat save or publication as architectural approval"]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "direct-fix-deletes-speculative-generality",
|
|
31
|
+
"prompt": "Write a Fix Brief for one proven planner mode defect. A universal resolver, legacy branch, and new registry are possible but not required by evidence.",
|
|
32
|
+
"expected": ["describe the direct existing-seam solution", "delete the unsupported resolver, legacy branch, and registry"],
|
|
33
|
+
"forbidden": ["freeze optional machinery as implementation decisions", "broaden the spec for hypothetical reuse"]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "necessary-migration-survives-deletion-challenge",
|
|
37
|
+
"prompt": "Existing persisted records cannot satisfy the confirmed new contract without a migration, and repository evidence proves the incompatibility.",
|
|
38
|
+
"expected": ["retain the migration as a necessary mechanism", "tie it to the confirmed contract and persisted-state evidence"],
|
|
39
|
+
"forbidden": ["delete required migration work merely to minimize the spec", "add unrelated compatibility machinery"]
|
|
28
40
|
}
|
|
29
41
|
]
|
|
30
42
|
}
|
|
@@ -137,12 +137,18 @@ ticket body, plus:
|
|
|
137
137
|
This packet is contextual planning data, not a separately published artifact or
|
|
138
138
|
workflow owner. Do not publish any intermediate PRD.
|
|
139
139
|
|
|
140
|
+
Freeze it only after product decisions, ticket boundaries, and the deletion
|
|
141
|
+
challenge are complete, with every unresolved technical or external gap made
|
|
142
|
+
an explicit blocking discovery outcome. The expected review verdict must be
|
|
143
|
+
`APPROVE`; never use review to finish inventory, decisions, or composition.
|
|
144
|
+
|
|
140
145
|
### 4. Run one fresh semantic packet review
|
|
141
146
|
|
|
142
|
-
For each settled revision
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
147
|
+
For each settled revision composed by `$to-tickets` before approval or
|
|
148
|
+
publication, launch exactly one fresh `standards_reviewer` without history
|
|
149
|
+
(`fork_context=false` on V1; `fork_turns="none"` on V2). Begin with
|
|
150
|
+
`Assigned role: standards_reviewer`, provide the full authority and packet, and
|
|
151
|
+
apply all three lenses in the same activation: source fidelity, ticket
|
|
146
152
|
executability, and minimum solution and scope conservation.
|
|
147
153
|
|
|
148
154
|
- **Source fidelity:** every product claim, decision, scope boundary,
|
|
@@ -161,6 +167,11 @@ executability, and minimum solution and scope conservation.
|
|
|
161
167
|
Prefer deletion or narrowing before adding machinery. The reviewer may not
|
|
162
168
|
introduce a new runtime mechanism merely to make proof more exhaustive.
|
|
163
169
|
|
|
170
|
+
Require public contract detail only when a public boundary, inter-ticket
|
|
171
|
+
contract, or existing invariant requires it. State proof gaps as observable
|
|
172
|
+
obligations; never prescribe a private DTO, schema, service, rule engine, or
|
|
173
|
+
exhaustive internal matrix to close them.
|
|
174
|
+
|
|
164
175
|
Before verdict, traverse each applicable seam:
|
|
165
176
|
|
|
166
177
|
- Parent obligation to owning ticket and proof;
|
|
@@ -183,6 +194,11 @@ same-context or findings-only recheck cannot approve. Repeat until the latest
|
|
|
183
194
|
revision receives one full approval. Missing or failed review blocks
|
|
184
195
|
publication; product-changing repairs return to the user.
|
|
185
196
|
|
|
197
|
+
Before re-review, repair every verified blocker and sweep the complete packet
|
|
198
|
+
for the same defect class. If a blocker exposes unfinished inventory,
|
|
199
|
+
authority, or composition, return to drafting and pass the freeze conditions
|
|
200
|
+
again.
|
|
201
|
+
|
|
186
202
|
### 5. Get one explicit approval
|
|
187
203
|
|
|
188
204
|
After the semantic review approves, show the complete publish-ready packet and
|
|
@@ -102,9 +102,15 @@
|
|
|
102
102
|
{
|
|
103
103
|
"id": "repair-gets-fresh-full-packet-review",
|
|
104
104
|
"prompt": "Semantic review returns NEEDS_WORK and the packet is repaired before user approval.",
|
|
105
|
-
"expected": ["launch one new reviewer without prior review history", "review the complete revised packet", "keep one user approval for the final packet"],
|
|
105
|
+
"expected": ["repair every verified blocker and sweep the complete packet for the same defect class", "pass the settled packet conditions again", "launch one new reviewer without prior review history", "review the complete revised packet", "keep one user approval for the final packet"],
|
|
106
106
|
"forbidden": ["continue with the same reviewer", "approve from a findings-only recheck", "launch multiple reviewers for one revision"]
|
|
107
107
|
},
|
|
108
|
+
{
|
|
109
|
+
"id": "private-design-stays-with-implement",
|
|
110
|
+
"prompt": "A settled packet defines observable behavior through existing owners, but semantic review proposes a new DTO, service, exhaustive internal rule matrix, and another ticket for implementation convenience.",
|
|
111
|
+
"expected": ["require public contract detail only when demanded by a public boundary, inter-ticket contract, or existing invariant", "state an observable proof gap without prescribing private runtime design", "leave safe private implementation choices to Implement"],
|
|
112
|
+
"forbidden": ["use credible proof alone to require machinery", "add a private service, rule engine, or internal matrix"]
|
|
113
|
+
},
|
|
108
114
|
{
|
|
109
115
|
"id": "cross-ticket-cardinality-must-match",
|
|
110
116
|
"prompt": "A predecessor emits multiple identities while its successor contract consumes one identity.",
|