codex-orchestrator 2.0.4 → 2.0.5
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 +23 -0
- package/README.md +29 -3
- package/dist/src/v2/acceptance-proof.d.ts +5 -0
- package/dist/src/v2/acceptance-proof.d.ts.map +1 -1
- package/dist/src/v2/acceptance-proof.js +10 -2
- package/dist/src/v2/acceptance-proof.js.map +1 -1
- package/dist/src/v2/adapters/gh-pull-request-adapter.d.ts +7 -1
- package/dist/src/v2/adapters/gh-pull-request-adapter.d.ts.map +1 -1
- package/dist/src/v2/adapters/gh-pull-request-adapter.js +288 -0
- package/dist/src/v2/adapters/gh-pull-request-adapter.js.map +1 -1
- package/dist/src/v2/adapters/pull-requests.d.ts +69 -0
- package/dist/src/v2/adapters/pull-requests.d.ts.map +1 -1
- package/dist/src/v2/adapters/pull-requests.js +48 -0
- package/dist/src/v2/adapters/pull-requests.js.map +1 -1
- package/dist/src/v2/adapters/worktree.d.ts +1 -0
- package/dist/src/v2/adapters/worktree.d.ts.map +1 -1
- package/dist/src/v2/adapters/worktree.js +10 -1
- package/dist/src/v2/adapters/worktree.js.map +1 -1
- package/dist/src/v2/cli.d.ts +9 -0
- package/dist/src/v2/cli.d.ts.map +1 -1
- package/dist/src/v2/cli.js +38 -11
- package/dist/src/v2/cli.js.map +1 -1
- package/dist/src/v2/config.d.ts +0 -1
- package/dist/src/v2/config.d.ts.map +1 -1
- package/dist/src/v2/config.js +0 -3
- package/dist/src/v2/config.js.map +1 -1
- package/dist/src/v2/containment.d.ts +11 -2
- package/dist/src/v2/containment.d.ts.map +1 -1
- package/dist/src/v2/containment.js +35 -7
- package/dist/src/v2/containment.js.map +1 -1
- package/dist/src/v2/direct-delivery.d.ts +1 -1
- package/dist/src/v2/direct-delivery.d.ts.map +1 -1
- package/dist/src/v2/direct-delivery.js +9 -3
- package/dist/src/v2/direct-delivery.js.map +1 -1
- package/dist/src/v2/review-feedback-coordinator.d.ts +54 -0
- package/dist/src/v2/review-feedback-coordinator.d.ts.map +1 -0
- package/dist/src/v2/review-feedback-coordinator.js +245 -0
- package/dist/src/v2/review-feedback-coordinator.js.map +1 -0
- package/dist/src/v2/review-feedback.d.ts +127 -0
- package/dist/src/v2/review-feedback.d.ts.map +1 -0
- package/dist/src/v2/review-feedback.js +436 -0
- package/dist/src/v2/review-feedback.js.map +1 -0
- package/dist/src/v2/run-issue.d.ts +57 -0
- package/dist/src/v2/run-issue.d.ts.map +1 -1
- package/dist/src/v2/run-issue.js +701 -36
- package/dist/src/v2/run-issue.js.map +1 -1
- package/dist/src/v2/run-store.d.ts +45 -1
- package/dist/src/v2/run-store.d.ts.map +1 -1
- package/dist/src/v2/run-store.js +113 -4
- package/dist/src/v2/run-store.js.map +1 -1
- package/dist/src/v2/runtime.d.ts +37 -0
- package/dist/src/v2/runtime.d.ts.map +1 -1
- package/dist/src/v2/runtime.js +120 -5
- package/dist/src/v2/runtime.js.map +1 -1
- package/dist/src/v2/setup.js +1 -1
- package/dist/src/v2/setup.js.map +1 -1
- package/docs/deep-dive.md +61 -5
- package/internal-workflow/docs/agents/contract-test-ledger.md +11 -1
- package/internal-workflow/evals/coding-skill-evals.json +18 -0
- package/internal-workflow/manifest.json +1 -1
- package/internal-workflow/skills/code-debugger/SKILL.md +3 -3
- package/internal-workflow/skills/code-review/SKILL.md +18 -6
- package/internal-workflow/skills/implementation-spec-maker/agents/openai.yaml +1 -1
- package/internal-workflow/skills/spec-implementer/references/review-loop.md +7 -1
- package/internal-workflow/skills/tdd/SKILL.md +5 -4
- package/internal-workflow/skills/tdd/evals/evals.json +18 -0
- package/internal-workflow/skills/tdd/mocking.md +3 -42
- package/internal-workflow/skills/tdd/refactoring.md +6 -8
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"evals":{"shared/coding-skill-evals":{"owner":null,"path":"evals/coding-skill-evals.json"},"skill/implementation-spec-review":{"owner":"implementation-spec-review","path":"skills/implementation-spec-review/evals/evals.json"},"skill/spec-implementer":{"owner":"spec-implementer","path":"skills/spec-implementer/evals/evals.json"}},"files":[{"mode":420,"path":"docs/agents/bug-workflow-routing.md","sha256":"a37c59676bcb8b938a7c82bce8a6ea5becf58ba367866d2712cd469391aea931","size":1603},{"mode":420,"path":"docs/agents/bugfix-quality-gate.md","sha256":"caaed6c923adfe56f4b6dd89222a83493ef4dd4e8bdd2bad694f8a11f93541ae","size":709},{"mode":420,"path":"docs/agents/coding-skill-routing.md","sha256":"958f4e7c7177c062b2a24fb7db2287be2cfa6e5281f2d156f7eb67b6cb3a0741","size":6434},{"mode":420,"path":"docs/agents/confidence-rubric.md","sha256":"42c947db2775380867e7adcfbdbe0f67b8f511b9ddf33a6eef8e1b0e995912c2","size":1883},{"mode":420,"path":"docs/agents/contract-test-ledger.md","sha256":"6f2327a40f218fbc746193c6440a69be08450938688b401f05163a3bb438a7f3","size":3779},{"mode":420,"path":"docs/agents/review-gates.md","sha256":"5ca48066b263cf869549c383814cfbdbbad711e5c247a8253bc2996d8fdec496","size":1857},{"mode":420,"path":"docs/agents/review-protocol.md","sha256":"9af5b44c545d76f3a048de424a4ccc78aa7e018bd193e4e5a787b2cef47af071","size":4086},{"mode":420,"path":"docs/agents/tool-usage.md","sha256":"b6ade11865a46a5a28d4823c1b70318453f4d350cfc62d2969aa06d73c47be4b","size":4321},{"mode":420,"path":"evals/coding-skill-evals.json","sha256":"22ba3bb4372cde747c3accc899f85dc67f190fd33113deb133392a1695f5ad99","size":3519},{"mode":420,"path":"operations/acceptance-proof/SKILL.md","sha256":"c33a04bf8dfcb59982f60b232633b0e48e9de4ec375cd02f52ec71f9fce30de6","size":440},{"mode":420,"path":"operations/ambiguity-review/SKILL.md","sha256":"20371f30015afef12a2b9dd608d21cc93a93f011873927f7a64e29b36a4fcf99","size":427},{"mode":420,"path":"operations/code-review/SKILL.md","sha256":"c415e4383dd7ddeb4b371a0a141a39c4296d95222b26ca3fcc51a34704e10f25","size":1246},{"mode":420,"path":"operations/implementation/SKILL.md","sha256":"6f0c9b900d252d9a833d7fdac6868d84900787debf2964e22ffbf86851af45d2","size":1461},{"mode":420,"path":"operations/spec-author/SKILL.md","sha256":"5170f275bd7bc346578028d74d5814a5edd36ccd90d0615c4d5e3d6b6f8af049","size":627},{"mode":420,"path":"operations/spec-review/SKILL.md","sha256":"6cb7b8ea245faa2587ebde07ebe3d364eff41d18d5464ccd2749cf2b9b49f701","size":653},{"mode":420,"path":"operations/triage/SKILL.md","sha256":"39e8301b90a59795dc2b93917d4674c22dc3e4380f011a54ade1de4c7cdc18ae","size":647},{"mode":420,"path":"profiles/analyst_deep.toml","sha256":"06335e3a13b07ef3d7deb9b546a6dad5d765edfa6dbf21c1c4d516e843a4352f","size":380},{"mode":420,"path":"profiles/implementer_standard.toml","sha256":"4074f45ea6fb615382de7ddf04e4ab824185e01932290b95764ff63a3711824e","size":750},{"mode":420,"path":"profiles/proof_agent.toml","sha256":"2fbaf1145a11cb5c574bf1ed7333187d284ed0c3c3d6260c628f82057b8b04e7","size":446},{"mode":420,"path":"profiles/reviewer_deep.toml","sha256":"15ef121b641265a85d0647c46f6dd93d4a9abd8c09bcc746c41e4ca6b4c9af41","size":648},{"mode":420,"path":"profiles/reviewer_standard.toml","sha256":"0a26b24f98b7e8d0ec049cb6fbe623d5da838b2fe71b5accd59bf364a9c97e5c","size":585},{"mode":420,"path":"schemas/ambiguity-review-v1.json","sha256":"48d946ad8e91bd1908d8993ef631b1701ad3cd7a79f34368a07942d7774afeff","size":524},{"mode":420,"path":"schemas/code-review-v1.json","sha256":"b11b266e0a7e0aa19eaf90ebf2b5c33f3bc7263e9c697cbf206e9865084e3439","size":2555},{"mode":420,"path":"schemas/implementation-report-v1.json","sha256":"a1b580dad03af9be74d895d38a2f6aa9398b6d772c944dc398dac5aca0630d2e","size":1573},{"mode":420,"path":"schemas/proof-report-v1.json","sha256":"1bf6c5b22b97ab3b659d961e21b0fc06869481405e1048ab9eadeeea212a8cf6","size":21949},{"mode":420,"path":"schemas/spec-author-v1.json","sha256":"49f945362d1184ad628584b91fbbe75323d13bafa4ca3876093387a9fca06214","size":420},{"mode":420,"path":"schemas/spec-review-v1.json","sha256":"fe9fdd389bcb4c3b7d19609184caf3af4b89e7c1d1e71a7ba0c55c72c5d5562d","size":1386},{"mode":420,"path":"schemas/triage-route-v1.json","sha256":"3ca7ed29237f42e12567797d145d90dd4f1f48fa1e81a7da67434c19747753d8","size":5894},{"mode":420,"path":"skills/acceptance-proof/SKILL.md","sha256":"5a0f2dcd62a43da86a7627c70c86bde86e78c06929675073ee37727e3f06fc65","size":1683},{"mode":420,"path":"skills/acceptance-proof/agents/openai.yaml","sha256":"d602d9f2e1bf618a71171729c6f354dd137c939cb433bd49afec678360e1189f","size":265},{"mode":420,"path":"skills/acceptance-proof/references/android.md","sha256":"b9396d1327ffc19f91b73c2470222871e403ea1d0f3de58025e689a92691a842","size":3022},{"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/android-lease.mjs","sha256":"982c426dd5b3a90f74e5120783b3a24fa98d8218d0f4140e756187865b48d708","size":11393},{"mode":420,"path":"skills/acceptance-proof/tools/ios-lease.mjs","sha256":"6e1e0d95c6a8b2d42c34de05bd4446eac23e3916bffccb027f236b8a8a1809a3","size":13834},{"mode":420,"path":"skills/agent-auto/SKILL.md","sha256":"450c28f7a712f881cdf9f3e48555a47022b46f79df875bac35843a1c15135451","size":1415},{"mode":420,"path":"skills/agent-auto/agents/openai.yaml","sha256":"79a70421300891e3130fc7535c4aa37e01931ff353fbd7b83262c6fcf2032b71","size":266},{"mode":420,"path":"skills/code-debugger/SKILL.md","sha256":"56a403b2cd9a3dad4b48d06ab05a9b99fde97261b7380c2cd9ffd82b2c3cbb53","size":7725},{"mode":420,"path":"skills/code-debugger/agents/openai.yaml","sha256":"8dd2f301bee632585371bd6f62dbdcdec95201f553392515342da5d0fc563305","size":322},{"mode":420,"path":"skills/code-review/SKILL.md","sha256":"5cd395731f598d5c88319f74ea4fe83ae7678fa1bd42cd45acc6246b67467289","size":15805},{"mode":420,"path":"skills/code-review/agents/openai.yaml","sha256":"c2697212427a5e119d9127e2f9000594e6c2eb7696e7a40604da7149c79ce478","size":278},{"mode":420,"path":"skills/code-review/references/bug-classes.md","sha256":"1f8648af9914cbd7553d045915f959df0f3b50a88e97c3beefeb955342e7b12d","size":4062},{"mode":420,"path":"skills/code-review/references/cleanup-lens.md","sha256":"6406350bf8ff00f9d2de2d5a8871aa1a9ab0efa33dcc35453eeebe9c96623e69","size":2846},{"mode":420,"path":"skills/code-review/references/framework-lenses.md","sha256":"ca9e7cb09f32f729cec5522e8ff7c7dcc43f76ef986e701e9c0a226514912cd8","size":1820},{"mode":420,"path":"skills/code-review/references/targeted-recipes.md","sha256":"921b422958c97e606637d3fa2d2628239d9176f0316c7e45bbc55b20a22fe3c1","size":2564},{"mode":420,"path":"skills/diagnosing-bugs/SKILL.md","sha256":"9a3457d4f12e3810041def93456a0c020df0842200737bf7ecaf06471991c16c","size":9097},{"mode":420,"path":"skills/diagnosing-bugs/agents/openai.yaml","sha256":"eca84840bc193ce63cc7aad93d9e7b5f2541739b7bf682e5fa9eded3a8060787","size":262},{"mode":420,"path":"skills/diagnosing-bugs/scripts/hitl-loop.template.sh","sha256":"b2932630950e5210075bcd6f850e5accf30c101c5367b29eac3a29b4dd8084c8","size":1164},{"mode":420,"path":"skills/implementation-spec-maker/SKILL.md","sha256":"035cb829574c92c8342ae0a4a6f04866802f3724b6ba16583ae8c5724d6d45f9","size":7751},{"mode":420,"path":"skills/implementation-spec-maker/agents/openai.yaml","sha256":"a4457f3e2f08cb07694855d362103b6a628c82b262950409268145348e2d91dd","size":363},{"mode":420,"path":"skills/implementation-spec-maker/references/source-modes.md","sha256":"471f0f58668b414438effbf91398022327fcbd43f40cc0801080994fe02bda3b","size":1920},{"mode":420,"path":"skills/implementation-spec-maker/references/spec-template.md","sha256":"0ba380125eb2e0c114aed6b0f064ac2643edf75bb78c10de72b741776edee6ff","size":5319},{"mode":420,"path":"skills/implementation-spec-review/SKILL.md","sha256":"d4c32638f0bf93766dda1e9d5eaa072c279d4658d421482da78ccc0cfd2e13c7","size":5270},{"mode":420,"path":"skills/implementation-spec-review/agents/openai.yaml","sha256":"600f9cc4e4f42596e3bf48601a508ddf055efcc396478d5e339d024973f4fb05","size":277},{"mode":420,"path":"skills/implementation-spec-review/evals/evals.json","sha256":"d0f73eba5cb0ce34f50f43f80094a3f0cf3aa1caa1b5eb859906721159aee575","size":1114},{"mode":420,"path":"skills/implementation-spec-review/references/review-loop.md","sha256":"9d9e9c233ba08e256b158a7fe740ffe5ffd1893960c2076254e44e0e49083630","size":3901},{"mode":420,"path":"skills/small-task-implementer/SKILL.md","sha256":"6b81bf9d85b2f6c8253099cfe766f67cad312e3eb38b014ed2bedb007df467fc","size":4279},{"mode":420,"path":"skills/small-task-implementer/agents/openai.yaml","sha256":"81569b6dfd97de60b53f092528140a5e5043f9adcc9262debff7bc912e278958","size":261},{"mode":420,"path":"skills/spec-implementer/SKILL.md","sha256":"70f65edddebc788a21dbb5bc6cb8f60a297e0364c8e4754f3ba80cbf1ba210a0","size":5538},{"mode":420,"path":"skills/spec-implementer/agents/openai.yaml","sha256":"84ef664ae3538e264fe6746917f081d34eac0738dc28764ddf27d7a448b3615d","size":341},{"mode":420,"path":"skills/spec-implementer/evals/evals.json","sha256":"23d73ddd6e2205b601a36cd07a7dd5ee228ae587d5b9cc5adab9b0993a312ba8","size":1361},{"mode":420,"path":"skills/spec-implementer/references/review-loop.md","sha256":"5161c4c586144cdf0aba828c459c57b9e8dc404a06990b3a887b51648fe1fcb9","size":4311},{"mode":420,"path":"skills/tdd/SKILL.md","sha256":"9e046610c341be0c770d4196f98c95cdb673d477bbbbcdfcca499dd5da6071d0","size":4146},{"mode":420,"path":"skills/tdd/agents/openai.yaml","sha256":"cc49a11a2c08733862d1a406123cda7a050d4a70fa92a4b3ec37f318694b1581","size":301},{"mode":420,"path":"skills/tdd/interface-design.md","sha256":"764c5ff0e3fa6b4ab7095eb65ccc7201e090baf19fa16051dfdb72c06d27417d","size":653},{"mode":420,"path":"skills/tdd/mocking.md","sha256":"3ceb807fdf4a47d6a93d4d9a891e5ba6d362a6247bd08adc451feebfc17361ef","size":1481},{"mode":420,"path":"skills/tdd/refactoring.md","sha256":"54fced22dd1911b7094c3fe7979b7c1a40d40be307482c4adf7dc0588f27d6cc","size":387},{"mode":420,"path":"skills/tdd/tests.md","sha256":"6773173a074569b2e51653bd7b95c097d602dbb4815d1cf1c87344705c4e0d1c","size":2228},{"mode":420,"path":"skills/triage/AGENT-BRIEF.md","sha256":"053cd013e1c2c9275111aa6e4b5a12e9838f8d6cd888e8ca0ccaaac576fd74df","size":7070},{"mode":420,"path":"skills/triage/OUT-OF-SCOPE.md","sha256":"8ed8cf27833444060c81b3961a83c0e3d8e6cf2fcb2ddf6f8b07c6655cbb0d85","size":4282},{"mode":420,"path":"skills/triage/SKILL.md","sha256":"5c7c84189fd5146ec1ae55a5669c74372ed7bce588fa7b8523417aa55b312a2e","size":8273},{"mode":420,"path":"skills/triage/agents/openai.yaml","sha256":"466bc430f95132bc6b28d077d50865d4b1fd9218307582343c35b0baf66d7894","size":283}],"generationHash":"a66ee20f05adca0ffc042d75e0121bf0b8a8679c67d6eecb933acd8f2af4ca1d","operations":{"acceptance-proof":{"dependencySkills":[],"entry":"operations/acceptance-proof/SKILL.md","files":["operations/acceptance-proof/SKILL.md","profiles/proof_agent.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/android-lease.mjs","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":"proof_agent","resources":[],"sourceSkill":"acceptance-proof"},"ambiguity-review":{"dependencySkills":[],"entry":"operations/ambiguity-review/SKILL.md","files":["docs/agents/confidence-rubric.md","operations/ambiguity-review/SKILL.md","profiles/reviewer_deep.toml","schemas/ambiguity-review-v1.json"],"id":"ambiguity-review","outputSchema":"schemas/ambiguity-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":"reviewer_deep","resources":["docs/agents/confidence-rubric.md"],"sourceSkill":null},"code-review":{"dependencySkills":[],"entry":"operations/code-review/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/review-protocol.md","operations/code-review/SKILL.md","profiles/reviewer_standard.toml","schemas/code-review-v1.json","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/bug-classes.md","skills/code-review/references/cleanup-lens.md","skills/code-review/references/framework-lenses.md","skills/code-review/references/targeted-recipes.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":"reviewer_standard","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/review-protocol.md"],"sourceSkill":"code-review"},"implementation":{"dependencySkills":["code-debugger","diagnosing-bugs","small-task-implementer","tdd"],"entry":"operations/implementation/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/tool-usage.md","operations/implementation/SKILL.md","profiles/implementer_standard.toml","schemas/implementation-report-v1.json","skills/agent-auto/SKILL.md","skills/agent-auto/agents/openai.yaml","skills/code-debugger/SKILL.md","skills/code-debugger/agents/openai.yaml","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/small-task-implementer/SKILL.md","skills/small-task-implementer/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"],"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_standard","resources":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/tool-usage.md"],"sourceSkill":"agent-auto"},"spec-author":{"dependencySkills":[],"entry":"operations/spec-author/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","operations/spec-author/SKILL.md","profiles/implementer_standard.toml","schemas/spec-author-v1.json","skills/implementation-spec-maker/SKILL.md","skills/implementation-spec-maker/agents/openai.yaml","skills/implementation-spec-maker/references/source-modes.md","skills/implementation-spec-maker/references/spec-template.md"],"id":"spec-author","outputSchema":"schemas/spec-author-v1.json","policy":{"approvalCeiling":"never","cwdClass":"target-state","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"spec-only","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["target-state"]},"profile":"implementer_standard","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md"],"sourceSkill":"implementation-spec-maker"},"spec-review":{"dependencySkills":[],"entry":"operations/spec-review/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-protocol.md","operations/spec-review/SKILL.md","profiles/reviewer_deep.toml","schemas/spec-review-v1.json","skills/implementation-spec-review/SKILL.md","skills/implementation-spec-review/agents/openai.yaml","skills/implementation-spec-review/references/review-loop.md"],"id":"spec-review","outputSchema":"schemas/spec-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":"reviewer_deep","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-protocol.md"],"sourceSkill":"implementation-spec-review"},"triage":{"dependencySkills":[],"entry":"operations/triage/SKILL.md","files":["docs/agents/coding-skill-routing.md","operations/triage/SKILL.md","profiles/analyst_deep.toml","schemas/triage-route-v1.json","skills/triage/AGENT-BRIEF.md","skills/triage/OUT-OF-SCOPE.md","skills/triage/SKILL.md","skills/triage/agents/openai.yaml"],"id":"triage","outputSchema":"schemas/triage-route-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"analyst_deep","resources":["docs/agents/coding-skill-routing.md"],"sourceSkill":"triage"}},"profiles":{"analyst_deep":"profiles/analyst_deep.toml","implementer_standard":"profiles/implementer_standard.toml","proof_agent":"profiles/proof_agent.toml","reviewer_deep":"profiles/reviewer_deep.toml","reviewer_standard":"profiles/reviewer_standard.toml"},"skills":{"acceptance-proof":{"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/android-lease.mjs","skills/acceptance-proof/tools/ios-lease.mjs"],"metadata":"skills/acceptance-proof/agents/openai.yaml"},"agent-auto":{"entry":"skills/agent-auto/SKILL.md","files":["skills/agent-auto/SKILL.md","skills/agent-auto/agents/openai.yaml"],"metadata":"skills/agent-auto/agents/openai.yaml"},"code-debugger":{"entry":"skills/code-debugger/SKILL.md","files":["skills/code-debugger/SKILL.md","skills/code-debugger/agents/openai.yaml"],"metadata":"skills/code-debugger/agents/openai.yaml"},"code-review":{"entry":"skills/code-review/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/bug-classes.md","skills/code-review/references/cleanup-lens.md","skills/code-review/references/framework-lenses.md","skills/code-review/references/targeted-recipes.md"],"metadata":"skills/code-review/agents/openai.yaml"},"diagnosing-bugs":{"entry":"skills/diagnosing-bugs/SKILL.md","files":["skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh"],"metadata":"skills/diagnosing-bugs/agents/openai.yaml"},"implementation-spec-maker":{"entry":"skills/implementation-spec-maker/SKILL.md","files":["skills/implementation-spec-maker/SKILL.md","skills/implementation-spec-maker/agents/openai.yaml","skills/implementation-spec-maker/references/source-modes.md","skills/implementation-spec-maker/references/spec-template.md"],"metadata":"skills/implementation-spec-maker/agents/openai.yaml"},"implementation-spec-review":{"entry":"skills/implementation-spec-review/SKILL.md","files":["skills/implementation-spec-review/SKILL.md","skills/implementation-spec-review/agents/openai.yaml","skills/implementation-spec-review/references/review-loop.md"],"metadata":"skills/implementation-spec-review/agents/openai.yaml"},"small-task-implementer":{"entry":"skills/small-task-implementer/SKILL.md","files":["skills/small-task-implementer/SKILL.md","skills/small-task-implementer/agents/openai.yaml"],"metadata":"skills/small-task-implementer/agents/openai.yaml"},"spec-implementer":{"entry":"skills/spec-implementer/SKILL.md","files":["skills/spec-implementer/SKILL.md","skills/spec-implementer/agents/openai.yaml","skills/spec-implementer/references/review-loop.md"],"metadata":"skills/spec-implementer/agents/openai.yaml"},"tdd":{"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"},"triage":{"entry":"skills/triage/SKILL.md","files":["skills/triage/AGENT-BRIEF.md","skills/triage/OUT-OF-SCOPE.md","skills/triage/SKILL.md","skills/triage/agents/openai.yaml"],"metadata":"skills/triage/agents/openai.yaml"}},"sourceFingerprint":"a8849a4c47b3adcb10239694bc0404eb89df4dbf8ae1e6ca7be689c141c5e316","version":2}
|
|
1
|
+
{"evals":{"shared/coding-skill-evals":{"owner":null,"path":"evals/coding-skill-evals.json"},"skill/implementation-spec-review":{"owner":"implementation-spec-review","path":"skills/implementation-spec-review/evals/evals.json"},"skill/spec-implementer":{"owner":"spec-implementer","path":"skills/spec-implementer/evals/evals.json"},"skill/tdd":{"owner":"tdd","path":"skills/tdd/evals/evals.json"}},"files":[{"mode":420,"path":"docs/agents/bug-workflow-routing.md","sha256":"a37c59676bcb8b938a7c82bce8a6ea5becf58ba367866d2712cd469391aea931","size":1603},{"mode":420,"path":"docs/agents/bugfix-quality-gate.md","sha256":"caaed6c923adfe56f4b6dd89222a83493ef4dd4e8bdd2bad694f8a11f93541ae","size":709},{"mode":420,"path":"docs/agents/coding-skill-routing.md","sha256":"958f4e7c7177c062b2a24fb7db2287be2cfa6e5281f2d156f7eb67b6cb3a0741","size":6434},{"mode":420,"path":"docs/agents/confidence-rubric.md","sha256":"42c947db2775380867e7adcfbdbe0f67b8f511b9ddf33a6eef8e1b0e995912c2","size":1883},{"mode":420,"path":"docs/agents/contract-test-ledger.md","sha256":"22b7b7fe4aeb54d863fb779990292d75214c0f811686baa58242e82d88f8186e","size":4200},{"mode":420,"path":"docs/agents/review-gates.md","sha256":"5ca48066b263cf869549c383814cfbdbbad711e5c247a8253bc2996d8fdec496","size":1857},{"mode":420,"path":"docs/agents/review-protocol.md","sha256":"9af5b44c545d76f3a048de424a4ccc78aa7e018bd193e4e5a787b2cef47af071","size":4086},{"mode":420,"path":"docs/agents/tool-usage.md","sha256":"b6ade11865a46a5a28d4823c1b70318453f4d350cfc62d2969aa06d73c47be4b","size":4321},{"mode":420,"path":"evals/coding-skill-evals.json","sha256":"4fac745d7986be76f6798064f4cd917e0bc8191add4bf7658877e40193ea8f11","size":4471},{"mode":420,"path":"operations/acceptance-proof/SKILL.md","sha256":"c33a04bf8dfcb59982f60b232633b0e48e9de4ec375cd02f52ec71f9fce30de6","size":440},{"mode":420,"path":"operations/ambiguity-review/SKILL.md","sha256":"20371f30015afef12a2b9dd608d21cc93a93f011873927f7a64e29b36a4fcf99","size":427},{"mode":420,"path":"operations/code-review/SKILL.md","sha256":"c415e4383dd7ddeb4b371a0a141a39c4296d95222b26ca3fcc51a34704e10f25","size":1246},{"mode":420,"path":"operations/implementation/SKILL.md","sha256":"6f0c9b900d252d9a833d7fdac6868d84900787debf2964e22ffbf86851af45d2","size":1461},{"mode":420,"path":"operations/spec-author/SKILL.md","sha256":"5170f275bd7bc346578028d74d5814a5edd36ccd90d0615c4d5e3d6b6f8af049","size":627},{"mode":420,"path":"operations/spec-review/SKILL.md","sha256":"6cb7b8ea245faa2587ebde07ebe3d364eff41d18d5464ccd2749cf2b9b49f701","size":653},{"mode":420,"path":"operations/triage/SKILL.md","sha256":"39e8301b90a59795dc2b93917d4674c22dc3e4380f011a54ade1de4c7cdc18ae","size":647},{"mode":420,"path":"profiles/analyst_deep.toml","sha256":"06335e3a13b07ef3d7deb9b546a6dad5d765edfa6dbf21c1c4d516e843a4352f","size":380},{"mode":420,"path":"profiles/implementer_standard.toml","sha256":"4074f45ea6fb615382de7ddf04e4ab824185e01932290b95764ff63a3711824e","size":750},{"mode":420,"path":"profiles/proof_agent.toml","sha256":"2fbaf1145a11cb5c574bf1ed7333187d284ed0c3c3d6260c628f82057b8b04e7","size":446},{"mode":420,"path":"profiles/reviewer_deep.toml","sha256":"15ef121b641265a85d0647c46f6dd93d4a9abd8c09bcc746c41e4ca6b4c9af41","size":648},{"mode":420,"path":"profiles/reviewer_standard.toml","sha256":"0a26b24f98b7e8d0ec049cb6fbe623d5da838b2fe71b5accd59bf364a9c97e5c","size":585},{"mode":420,"path":"schemas/ambiguity-review-v1.json","sha256":"48d946ad8e91bd1908d8993ef631b1701ad3cd7a79f34368a07942d7774afeff","size":524},{"mode":420,"path":"schemas/code-review-v1.json","sha256":"b11b266e0a7e0aa19eaf90ebf2b5c33f3bc7263e9c697cbf206e9865084e3439","size":2555},{"mode":420,"path":"schemas/implementation-report-v1.json","sha256":"a1b580dad03af9be74d895d38a2f6aa9398b6d772c944dc398dac5aca0630d2e","size":1573},{"mode":420,"path":"schemas/proof-report-v1.json","sha256":"1bf6c5b22b97ab3b659d961e21b0fc06869481405e1048ab9eadeeea212a8cf6","size":21949},{"mode":420,"path":"schemas/spec-author-v1.json","sha256":"49f945362d1184ad628584b91fbbe75323d13bafa4ca3876093387a9fca06214","size":420},{"mode":420,"path":"schemas/spec-review-v1.json","sha256":"fe9fdd389bcb4c3b7d19609184caf3af4b89e7c1d1e71a7ba0c55c72c5d5562d","size":1386},{"mode":420,"path":"schemas/triage-route-v1.json","sha256":"3ca7ed29237f42e12567797d145d90dd4f1f48fa1e81a7da67434c19747753d8","size":5894},{"mode":420,"path":"skills/acceptance-proof/SKILL.md","sha256":"5a0f2dcd62a43da86a7627c70c86bde86e78c06929675073ee37727e3f06fc65","size":1683},{"mode":420,"path":"skills/acceptance-proof/agents/openai.yaml","sha256":"d602d9f2e1bf618a71171729c6f354dd137c939cb433bd49afec678360e1189f","size":265},{"mode":420,"path":"skills/acceptance-proof/references/android.md","sha256":"b9396d1327ffc19f91b73c2470222871e403ea1d0f3de58025e689a92691a842","size":3022},{"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/android-lease.mjs","sha256":"982c426dd5b3a90f74e5120783b3a24fa98d8218d0f4140e756187865b48d708","size":11393},{"mode":420,"path":"skills/acceptance-proof/tools/ios-lease.mjs","sha256":"6e1e0d95c6a8b2d42c34de05bd4446eac23e3916bffccb027f236b8a8a1809a3","size":13834},{"mode":420,"path":"skills/agent-auto/SKILL.md","sha256":"450c28f7a712f881cdf9f3e48555a47022b46f79df875bac35843a1c15135451","size":1415},{"mode":420,"path":"skills/agent-auto/agents/openai.yaml","sha256":"79a70421300891e3130fc7535c4aa37e01931ff353fbd7b83262c6fcf2032b71","size":266},{"mode":420,"path":"skills/code-debugger/SKILL.md","sha256":"914cf2a1a9971d5d932954b908fbf3fcfea040d46b4d612c2e7932979256bb88","size":7692},{"mode":420,"path":"skills/code-debugger/agents/openai.yaml","sha256":"8dd2f301bee632585371bd6f62dbdcdec95201f553392515342da5d0fc563305","size":322},{"mode":420,"path":"skills/code-review/SKILL.md","sha256":"ccfdbd832a9415db5f833741351a3954e25d1685c94f06344490bdc5307bc164","size":16455},{"mode":420,"path":"skills/code-review/agents/openai.yaml","sha256":"c2697212427a5e119d9127e2f9000594e6c2eb7696e7a40604da7149c79ce478","size":278},{"mode":420,"path":"skills/code-review/references/bug-classes.md","sha256":"1f8648af9914cbd7553d045915f959df0f3b50a88e97c3beefeb955342e7b12d","size":4062},{"mode":420,"path":"skills/code-review/references/cleanup-lens.md","sha256":"6406350bf8ff00f9d2de2d5a8871aa1a9ab0efa33dcc35453eeebe9c96623e69","size":2846},{"mode":420,"path":"skills/code-review/references/framework-lenses.md","sha256":"ca9e7cb09f32f729cec5522e8ff7c7dcc43f76ef986e701e9c0a226514912cd8","size":1820},{"mode":420,"path":"skills/code-review/references/targeted-recipes.md","sha256":"921b422958c97e606637d3fa2d2628239d9176f0316c7e45bbc55b20a22fe3c1","size":2564},{"mode":420,"path":"skills/diagnosing-bugs/SKILL.md","sha256":"9a3457d4f12e3810041def93456a0c020df0842200737bf7ecaf06471991c16c","size":9097},{"mode":420,"path":"skills/diagnosing-bugs/agents/openai.yaml","sha256":"eca84840bc193ce63cc7aad93d9e7b5f2541739b7bf682e5fa9eded3a8060787","size":262},{"mode":420,"path":"skills/diagnosing-bugs/scripts/hitl-loop.template.sh","sha256":"b2932630950e5210075bcd6f850e5accf30c101c5367b29eac3a29b4dd8084c8","size":1164},{"mode":420,"path":"skills/implementation-spec-maker/SKILL.md","sha256":"035cb829574c92c8342ae0a4a6f04866802f3724b6ba16583ae8c5724d6d45f9","size":7751},{"mode":420,"path":"skills/implementation-spec-maker/agents/openai.yaml","sha256":"5e9988125a4b69ec62ddfdb141793bebf8e117188d3c9c841031a0020b6d0b8e","size":421},{"mode":420,"path":"skills/implementation-spec-maker/references/source-modes.md","sha256":"471f0f58668b414438effbf91398022327fcbd43f40cc0801080994fe02bda3b","size":1920},{"mode":420,"path":"skills/implementation-spec-maker/references/spec-template.md","sha256":"0ba380125eb2e0c114aed6b0f064ac2643edf75bb78c10de72b741776edee6ff","size":5319},{"mode":420,"path":"skills/implementation-spec-review/SKILL.md","sha256":"d4c32638f0bf93766dda1e9d5eaa072c279d4658d421482da78ccc0cfd2e13c7","size":5270},{"mode":420,"path":"skills/implementation-spec-review/agents/openai.yaml","sha256":"600f9cc4e4f42596e3bf48601a508ddf055efcc396478d5e339d024973f4fb05","size":277},{"mode":420,"path":"skills/implementation-spec-review/evals/evals.json","sha256":"d0f73eba5cb0ce34f50f43f80094a3f0cf3aa1caa1b5eb859906721159aee575","size":1114},{"mode":420,"path":"skills/implementation-spec-review/references/review-loop.md","sha256":"9d9e9c233ba08e256b158a7fe740ffe5ffd1893960c2076254e44e0e49083630","size":3901},{"mode":420,"path":"skills/small-task-implementer/SKILL.md","sha256":"6b81bf9d85b2f6c8253099cfe766f67cad312e3eb38b014ed2bedb007df467fc","size":4279},{"mode":420,"path":"skills/small-task-implementer/agents/openai.yaml","sha256":"81569b6dfd97de60b53f092528140a5e5043f9adcc9262debff7bc912e278958","size":261},{"mode":420,"path":"skills/spec-implementer/SKILL.md","sha256":"70f65edddebc788a21dbb5bc6cb8f60a297e0364c8e4754f3ba80cbf1ba210a0","size":5538},{"mode":420,"path":"skills/spec-implementer/agents/openai.yaml","sha256":"84ef664ae3538e264fe6746917f081d34eac0738dc28764ddf27d7a448b3615d","size":341},{"mode":420,"path":"skills/spec-implementer/evals/evals.json","sha256":"23d73ddd6e2205b601a36cd07a7dd5ee228ae587d5b9cc5adab9b0993a312ba8","size":1361},{"mode":420,"path":"skills/spec-implementer/references/review-loop.md","sha256":"6f6c088daf1c4fcb9811583ddfdfb9d0357e924fba8a6ef1662faa4b533f499f","size":4713},{"mode":420,"path":"skills/tdd/SKILL.md","sha256":"ed184bb3f12b527c3dd25d3c4cdecbbe549ae5c5781ecb52929435524836eeec","size":4200},{"mode":420,"path":"skills/tdd/agents/openai.yaml","sha256":"cc49a11a2c08733862d1a406123cda7a050d4a70fa92a4b3ec37f318694b1581","size":301},{"mode":420,"path":"skills/tdd/evals/evals.json","sha256":"8c16ca88cdd4556c803e267dfd8ea82fab11aae7ae9959277bab8bab6f093031","size":692},{"mode":420,"path":"skills/tdd/interface-design.md","sha256":"764c5ff0e3fa6b4ab7095eb65ccc7201e090baf19fa16051dfdb72c06d27417d","size":653},{"mode":420,"path":"skills/tdd/mocking.md","sha256":"e26596e305ce4c56ee4c31f166a4eb37ce289ac6ef0ce4c7aadfa41ce0bf8191","size":519},{"mode":420,"path":"skills/tdd/refactoring.md","sha256":"b05bcb10cfa43c7053abba2984c80c486afc10ef9ab180689427f56c86068fe6","size":362},{"mode":420,"path":"skills/tdd/tests.md","sha256":"6773173a074569b2e51653bd7b95c097d602dbb4815d1cf1c87344705c4e0d1c","size":2228},{"mode":420,"path":"skills/triage/AGENT-BRIEF.md","sha256":"053cd013e1c2c9275111aa6e4b5a12e9838f8d6cd888e8ca0ccaaac576fd74df","size":7070},{"mode":420,"path":"skills/triage/OUT-OF-SCOPE.md","sha256":"8ed8cf27833444060c81b3961a83c0e3d8e6cf2fcb2ddf6f8b07c6655cbb0d85","size":4282},{"mode":420,"path":"skills/triage/SKILL.md","sha256":"5c7c84189fd5146ec1ae55a5669c74372ed7bce588fa7b8523417aa55b312a2e","size":8273},{"mode":420,"path":"skills/triage/agents/openai.yaml","sha256":"466bc430f95132bc6b28d077d50865d4b1fd9218307582343c35b0baf66d7894","size":283}],"generationHash":"823446e052cd0352c2ac4feb5a1e51618dfcde2ebc63a69bc82e8b67e6916354","operations":{"acceptance-proof":{"dependencySkills":[],"entry":"operations/acceptance-proof/SKILL.md","files":["operations/acceptance-proof/SKILL.md","profiles/proof_agent.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/android-lease.mjs","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":"proof_agent","resources":[],"sourceSkill":"acceptance-proof"},"ambiguity-review":{"dependencySkills":[],"entry":"operations/ambiguity-review/SKILL.md","files":["docs/agents/confidence-rubric.md","operations/ambiguity-review/SKILL.md","profiles/reviewer_deep.toml","schemas/ambiguity-review-v1.json"],"id":"ambiguity-review","outputSchema":"schemas/ambiguity-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":"reviewer_deep","resources":["docs/agents/confidence-rubric.md"],"sourceSkill":null},"code-review":{"dependencySkills":[],"entry":"operations/code-review/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/review-protocol.md","operations/code-review/SKILL.md","profiles/reviewer_standard.toml","schemas/code-review-v1.json","skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/bug-classes.md","skills/code-review/references/cleanup-lens.md","skills/code-review/references/framework-lenses.md","skills/code-review/references/targeted-recipes.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":"reviewer_standard","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/review-protocol.md"],"sourceSkill":"code-review"},"implementation":{"dependencySkills":["code-debugger","diagnosing-bugs","small-task-implementer","tdd"],"entry":"operations/implementation/SKILL.md","files":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/tool-usage.md","operations/implementation/SKILL.md","profiles/implementer_standard.toml","schemas/implementation-report-v1.json","skills/agent-auto/SKILL.md","skills/agent-auto/agents/openai.yaml","skills/code-debugger/SKILL.md","skills/code-debugger/agents/openai.yaml","skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh","skills/small-task-implementer/SKILL.md","skills/small-task-implementer/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"],"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_standard","resources":["docs/agents/bug-workflow-routing.md","docs/agents/coding-skill-routing.md","docs/agents/contract-test-ledger.md","docs/agents/review-gates.md","docs/agents/tool-usage.md"],"sourceSkill":"agent-auto"},"spec-author":{"dependencySkills":[],"entry":"operations/spec-author/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","operations/spec-author/SKILL.md","profiles/implementer_standard.toml","schemas/spec-author-v1.json","skills/implementation-spec-maker/SKILL.md","skills/implementation-spec-maker/agents/openai.yaml","skills/implementation-spec-maker/references/source-modes.md","skills/implementation-spec-maker/references/spec-template.md"],"id":"spec-author","outputSchema":"schemas/spec-author-v1.json","policy":{"approvalCeiling":"never","cwdClass":"target-state","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"spec-only","sandboxMode":"workspace-write","worktreeAccess":"write","writableRootClasses":["target-state"]},"profile":"implementer_standard","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md"],"sourceSkill":"implementation-spec-maker"},"spec-review":{"dependencySkills":[],"entry":"operations/spec-review/SKILL.md","files":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-protocol.md","operations/spec-review/SKILL.md","profiles/reviewer_deep.toml","schemas/spec-review-v1.json","skills/implementation-spec-review/SKILL.md","skills/implementation-spec-review/agents/openai.yaml","skills/implementation-spec-review/references/review-loop.md"],"id":"spec-review","outputSchema":"schemas/spec-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":"reviewer_deep","resources":["docs/agents/confidence-rubric.md","docs/agents/contract-test-ledger.md","docs/agents/review-protocol.md"],"sourceSkill":"implementation-spec-review"},"triage":{"dependencySkills":[],"entry":"operations/triage/SKILL.md","files":["docs/agents/coding-skill-routing.md","operations/triage/SKILL.md","profiles/analyst_deep.toml","schemas/triage-route-v1.json","skills/triage/AGENT-BRIEF.md","skills/triage/OUT-OF-SCOPE.md","skills/triage/SKILL.md","skills/triage/agents/openai.yaml"],"id":"triage","outputSchema":"schemas/triage-route-v1.json","policy":{"approvalCeiling":"never","cwdClass":"worktree","externalWrite":false,"mcpTools":[],"network":"deny","networkHosts":[],"runnerPostcondition":"report-only","sandboxMode":"read-only","worktreeAccess":"read-only","writableRootClasses":[]},"profile":"analyst_deep","resources":["docs/agents/coding-skill-routing.md"],"sourceSkill":"triage"}},"profiles":{"analyst_deep":"profiles/analyst_deep.toml","implementer_standard":"profiles/implementer_standard.toml","proof_agent":"profiles/proof_agent.toml","reviewer_deep":"profiles/reviewer_deep.toml","reviewer_standard":"profiles/reviewer_standard.toml"},"skills":{"acceptance-proof":{"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/android-lease.mjs","skills/acceptance-proof/tools/ios-lease.mjs"],"metadata":"skills/acceptance-proof/agents/openai.yaml"},"agent-auto":{"entry":"skills/agent-auto/SKILL.md","files":["skills/agent-auto/SKILL.md","skills/agent-auto/agents/openai.yaml"],"metadata":"skills/agent-auto/agents/openai.yaml"},"code-debugger":{"entry":"skills/code-debugger/SKILL.md","files":["skills/code-debugger/SKILL.md","skills/code-debugger/agents/openai.yaml"],"metadata":"skills/code-debugger/agents/openai.yaml"},"code-review":{"entry":"skills/code-review/SKILL.md","files":["skills/code-review/SKILL.md","skills/code-review/agents/openai.yaml","skills/code-review/references/bug-classes.md","skills/code-review/references/cleanup-lens.md","skills/code-review/references/framework-lenses.md","skills/code-review/references/targeted-recipes.md"],"metadata":"skills/code-review/agents/openai.yaml"},"diagnosing-bugs":{"entry":"skills/diagnosing-bugs/SKILL.md","files":["skills/diagnosing-bugs/SKILL.md","skills/diagnosing-bugs/agents/openai.yaml","skills/diagnosing-bugs/scripts/hitl-loop.template.sh"],"metadata":"skills/diagnosing-bugs/agents/openai.yaml"},"implementation-spec-maker":{"entry":"skills/implementation-spec-maker/SKILL.md","files":["skills/implementation-spec-maker/SKILL.md","skills/implementation-spec-maker/agents/openai.yaml","skills/implementation-spec-maker/references/source-modes.md","skills/implementation-spec-maker/references/spec-template.md"],"metadata":"skills/implementation-spec-maker/agents/openai.yaml"},"implementation-spec-review":{"entry":"skills/implementation-spec-review/SKILL.md","files":["skills/implementation-spec-review/SKILL.md","skills/implementation-spec-review/agents/openai.yaml","skills/implementation-spec-review/references/review-loop.md"],"metadata":"skills/implementation-spec-review/agents/openai.yaml"},"small-task-implementer":{"entry":"skills/small-task-implementer/SKILL.md","files":["skills/small-task-implementer/SKILL.md","skills/small-task-implementer/agents/openai.yaml"],"metadata":"skills/small-task-implementer/agents/openai.yaml"},"spec-implementer":{"entry":"skills/spec-implementer/SKILL.md","files":["skills/spec-implementer/SKILL.md","skills/spec-implementer/agents/openai.yaml","skills/spec-implementer/references/review-loop.md"],"metadata":"skills/spec-implementer/agents/openai.yaml"},"tdd":{"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"},"triage":{"entry":"skills/triage/SKILL.md","files":["skills/triage/AGENT-BRIEF.md","skills/triage/OUT-OF-SCOPE.md","skills/triage/SKILL.md","skills/triage/agents/openai.yaml"],"metadata":"skills/triage/agents/openai.yaml"}},"sourceFingerprint":"715103e439f1507800f03f7e96fa53cb839ccaa60448ae29d89afe877f468fa0","version":2}
|
|
@@ -9,7 +9,7 @@ description: Implement and verify an explicit or approved bug fix end-to-end. Us
|
|
|
9
9
|
|
|
10
10
|
Treat every bug report as an engineering investigation, not a prompt to guess. Start by proving whether each reported problem is valid and still current, then narrow the failing path, patch the root cause with the smallest correct change, and verify the result before closing the task. Always plan your actions explicitly before executing them.
|
|
11
11
|
|
|
12
|
-
For confirmed contract defects,
|
|
12
|
+
For confirmed contract defects, apply the shared Contract Test Ledger gate at `../../docs/agents/contract-test-ledger.md`.
|
|
13
13
|
|
|
14
14
|
## Activation Rule
|
|
15
15
|
|
|
@@ -47,8 +47,8 @@ Default execution mode is inline; use `analyst_deep` only while causal or contra
|
|
|
47
47
|
- If full reproduction is impossible, establish the strongest available failing signal and state what is missing.
|
|
48
48
|
- If no red-capable signal can be built for an unclear or flaky bug, switch to `diagnosing-bugs` before patching.
|
|
49
49
|
|
|
50
|
-
5. Create
|
|
51
|
-
-
|
|
50
|
+
5. Create a regression contract row only when the ledger gate passes.
|
|
51
|
+
- Record the invariant, concrete missed failure, and first regression test/proof before patching.
|
|
52
52
|
- The preferred sequence is `planned -> red -> green`: show the regression signal fails, apply the fix, then verify it passes.
|
|
53
53
|
- If no correct public seam exists, mark the ledger row `blocked` with the missing seam or fixture instead of writing an implementation-detail test by default.
|
|
54
54
|
|
|
@@ -7,6 +7,13 @@ description: "Evidence-first review of code, PRs, commits, regressions, or revie
|
|
|
7
7
|
|
|
8
8
|
This skill performs evidence-based code review. It is not a style pass and not a summary. Treat the change as potentially wrong until independent review tracks fail to break it.
|
|
9
9
|
|
|
10
|
+
Passing tests, test names, checklists, and implementation reports are inputs,
|
|
11
|
+
not proof. For each material behavior, trace the production path before reading
|
|
12
|
+
its tests, attempt one concrete violating sequence, then verify that the exact
|
|
13
|
+
setup, actions, and assertions reject it. If a fake bypasses the claimed
|
|
14
|
+
boundary or the test stays green, report a finding or verification gap; do not
|
|
15
|
+
approve nominal coverage.
|
|
16
|
+
|
|
10
17
|
The review always covers two lenses:
|
|
11
18
|
|
|
12
19
|
- **Correctness reviewer**: bugs, regressions, runtime behavior, security, contracts, caches, concurrency, framework rules, and failure paths.
|
|
@@ -50,7 +57,9 @@ When this skill is called from `$spec-implementer`:
|
|
|
50
57
|
|
|
51
58
|
- read `../spec-implementer/references/review-loop.md` and the persisted
|
|
52
59
|
`## Implementation Review State`
|
|
53
|
-
-
|
|
60
|
+
- recheck the scheduled profile against the settled diff; return an
|
|
61
|
+
underclassified profile to the executor before launching reviewers
|
|
62
|
+
- accept the scheduled mode, session, revision, and lenses after that check
|
|
54
63
|
- pin the target and give reviewers the owner-defined capsule
|
|
55
64
|
- return the usable result and stable defect updates to the executor
|
|
56
65
|
- keep cleanup findings in the spec/standards lineage and canonical Defect Ledger
|
|
@@ -69,7 +78,7 @@ Read only the references the current review needs:
|
|
|
69
78
|
- Contract test ledger: `../../docs/agents/contract-test-ledger.md`
|
|
70
79
|
- Shared confidence rubric: `../../docs/agents/confidence-rubric.md`
|
|
71
80
|
|
|
72
|
-
Load `references/framework-lenses.md` when the user names a framework or files/configs strongly imply one. Load `references/targeted-recipes.md`
|
|
81
|
+
Load `references/framework-lenses.md` when the user names a framework or files/configs strongly imply one. Load `references/targeted-recipes.md` when the diff shape matches them. Load `../../docs/agents/contract-test-ledger.md` only for a material contract delta with a named failure ordinary targeted proof could miss. Load `references/bug-classes.md` for substantial reviews or broad bug hunts.
|
|
73
82
|
Load `references/cleanup-lens.md` when the spec/standards lens is assigned. Use
|
|
74
83
|
its bounded method by default and its amplified method only for a concrete
|
|
75
84
|
evidenced simplification risk supplied as mandatory Review Focus.
|
|
@@ -187,10 +196,13 @@ The coordinator must not blindly relay reviewer output.
|
|
|
187
196
|
2. Re-read the relevant code for the strongest findings.
|
|
188
197
|
3. Drop findings that lack a concrete trigger path.
|
|
189
198
|
4. Reclassify severity/confidence using `../../docs/agents/confidence-rubric.md` if evidence does not support the label.
|
|
190
|
-
5. For real contract defects, identify the missing or inadequate
|
|
199
|
+
5. For real contract defects that pass the ledger gate, identify the missing or inadequate invariant when TDD/spec evidence is available.
|
|
191
200
|
6. Confirm every mandatory `Review Focus` item and mandatory delta lens was reviewed; if not, report the unverified item as a verification gap.
|
|
192
|
-
7.
|
|
193
|
-
|
|
201
|
+
7. Confirm that mandatory behavior evidence rejects the concrete violating
|
|
202
|
+
sequence attempted by the reviewer. Evidence that bypasses its claimed
|
|
203
|
+
production boundary invalidates that Full coverage.
|
|
204
|
+
8. Decide whether auto-fix is allowed.
|
|
205
|
+
9. Run the narrowest meaningful verification after any fix.
|
|
194
206
|
|
|
195
207
|
Keep the two axes visible in your own notes, but present the final report by severity unless the user explicitly asked for side-by-side Standards/Spec output.
|
|
196
208
|
|
|
@@ -233,7 +245,7 @@ Automatically fix only when all are true:
|
|
|
233
245
|
When auto-fixing:
|
|
234
246
|
|
|
235
247
|
- patch only the bug
|
|
236
|
-
- add/update behavior tests when regression risk is meaningful and the codebase supports it;
|
|
248
|
+
- add/update behavior tests when regression risk is meaningful and the codebase supports it; update a ledger only when its gate passes
|
|
237
249
|
- rerun relevant verification
|
|
238
250
|
- never revert unrelated user changes
|
|
239
251
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Implementation Spec Maker"
|
|
3
3
|
short_description: "Create lean deterministic implementation specs"
|
|
4
|
-
default_prompt: "Use $implementation-spec-maker
|
|
4
|
+
default_prompt: "Use $implementation-spec-maker only for a named execution decision or coordination gap; otherwise keep the direct route. Create the smallest deterministic spec and classify mode, size, repository count, and review risk independently."
|
|
5
5
|
policy:
|
|
6
6
|
allow_implicit_invocation: true
|
|
@@ -18,9 +18,15 @@ Use the spec's `review_profile`; if absent, infer it from current evidence:
|
|
|
18
18
|
|
|
19
19
|
- `simple`: narrow change with direct proof;
|
|
20
20
|
- `medium`: default for ordinary implementation;
|
|
21
|
-
- `high`: material failure consequence
|
|
21
|
+
- `high`: material failure consequence (financial side effect,
|
|
22
|
+
unauthorized/cross-owner behavior, durable corruption, or materially false
|
|
23
|
+
production result) plus an uncertainty amplifier (concurrency or event
|
|
24
|
+
ordering, delayed/background callbacks, retry/idempotency/recovery,
|
|
25
|
+
ownership transitions, or shared state across consumers).
|
|
22
26
|
|
|
23
27
|
Implementation evidence may raise but never lower the approved profile.
|
|
28
|
+
Recheck the settled diff immediately before the first reviewer launch and
|
|
29
|
+
persist any required raise before launching reviewers.
|
|
24
30
|
|
|
25
31
|
## Default Review Shape
|
|
26
32
|
|
|
@@ -26,7 +26,8 @@ cleanup are validation, not RED proofs.
|
|
|
26
26
|
- Derive expected values from an independent source, never from the production algorithm.
|
|
27
27
|
- Prove RED on the old behavior for the same observable reason the user reported or requested.
|
|
28
28
|
- Add only enough implementation to make the current test pass; do not anticipate later tests.
|
|
29
|
-
- Keep tests stable across behavior-preserving refactors
|
|
29
|
+
- Keep tests stable across behavior-preserving refactors.
|
|
30
|
+
- After sufficient GREEN, stop by default. Refactor only to reduce concrete complexity introduced by the change.
|
|
30
31
|
|
|
31
32
|
Read [tests.md](tests.md) when choosing or reviewing test shape. Read [mocking.md](mocking.md) before introducing test doubles.
|
|
32
33
|
|
|
@@ -36,7 +37,7 @@ Read [tests.md](tests.md) when choosing or reviewing test shape. Read [mocking.m
|
|
|
36
37
|
2. List the prioritized observable behaviors, not implementation steps.
|
|
37
38
|
3. Select the public seam where callers observe each behavior.
|
|
38
39
|
4. Ask the user only when the seam changes the public contract, product intent is unclear, or behavior priorities materially conflict.
|
|
39
|
-
5.
|
|
40
|
+
5. Use the shared [Contract Test Ledger](../../docs/agents/contract-test-ledger.md) only when its material-delta and missed-failure gate passes.
|
|
40
41
|
6. If no natural public seam exists, stop the TDD route. Consult [interface-design.md](interface-design.md) only when changing the interface is itself required by the task.
|
|
41
42
|
|
|
42
43
|
For UI behavior, define proof at the rendered seam: visible content and order, interaction result, semantics, or screenshot when layout direction or scrolling matters.
|
|
@@ -56,7 +57,7 @@ Handle reviewer repairs inside the same activation only under [bug workflow rout
|
|
|
56
57
|
|
|
57
58
|
## After GREEN
|
|
58
59
|
|
|
59
|
-
|
|
60
|
+
GREEN is a valid stopping point. If the current change created concrete local complexity, use [refactoring.md](refactoring.md) and rerun affected tests.
|
|
60
61
|
|
|
61
62
|
## Cycle Checklist
|
|
62
63
|
|
|
@@ -68,5 +69,5 @@ Refactor as a separate review-stage activity, never while RED. Use [refactoring.
|
|
|
68
69
|
[ ] GREEN uses only the code needed for the current behavior
|
|
69
70
|
[ ] Final outcome and relevant competing condition are proved
|
|
70
71
|
[ ] Contract Test Ledger is current when applicable
|
|
71
|
-
[ ]
|
|
72
|
+
[ ] Any refactor is local and reduces current-change complexity
|
|
72
73
|
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"skill": "tdd",
|
|
4
|
+
"cases": [
|
|
5
|
+
{
|
|
6
|
+
"id": "green-can-stop",
|
|
7
|
+
"prompt": "The requested behavior is green and the changed code is already clear and local.",
|
|
8
|
+
"expected": ["stop after green", "keep the current structure"],
|
|
9
|
+
"forbidden": ["add helpers, classes, or value objects", "refactor unrelated code"]
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"id": "no-test-only-seam",
|
|
13
|
+
"prompt": "A behavior test can use the existing public seam, but dependency injection would make mocking easier.",
|
|
14
|
+
"expected": ["use the existing public seam"],
|
|
15
|
+
"forbidden": ["add production dependency injection only for tests", "wrap an SDK only for mockability"]
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -15,45 +15,6 @@ Don't mock:
|
|
|
15
15
|
|
|
16
16
|
## Designing for Mockability
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
Pass external dependencies in rather than creating them internally:
|
|
23
|
-
|
|
24
|
-
```typescript
|
|
25
|
-
// Easy to mock
|
|
26
|
-
function processPayment(order, paymentClient) {
|
|
27
|
-
return paymentClient.charge(order.total);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// Hard to mock
|
|
31
|
-
function processPayment(order) {
|
|
32
|
-
const client = new StripeClient(process.env.STRIPE_KEY);
|
|
33
|
-
return client.charge(order.total);
|
|
34
|
-
}
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
**2. Prefer SDK-style interfaces over generic fetchers**
|
|
38
|
-
|
|
39
|
-
Create specific functions for each external operation instead of one generic function with conditional logic:
|
|
40
|
-
|
|
41
|
-
```typescript
|
|
42
|
-
// GOOD: Each function is independently mockable
|
|
43
|
-
const api = {
|
|
44
|
-
getUser: (id) => fetch(`/users/${id}`),
|
|
45
|
-
getOrders: (userId) => fetch(`/users/${userId}/orders`),
|
|
46
|
-
createOrder: (data) => fetch('/orders', { method: 'POST', body: data }),
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
// BAD: Mocking requires conditional logic inside the mock
|
|
50
|
-
const api = {
|
|
51
|
-
fetch: (endpoint, options) => fetch(endpoint, options),
|
|
52
|
-
};
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
The SDK approach means:
|
|
56
|
-
- Each mock returns one specific shape
|
|
57
|
-
- No conditional logic in test setup
|
|
58
|
-
- Easier to see which endpoints a test exercises
|
|
59
|
-
- Type safety per endpoint
|
|
18
|
+
Use the existing public or system-boundary seam first. Add dependency injection,
|
|
19
|
+
an adapter, or an SDK wrapper only when production ownership or the requested
|
|
20
|
+
contract requires it—not only to make a test easier to mock.
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Refactoring After GREEN
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Stop when GREEN code is clear and local. Refactor only when the current change
|
|
4
|
+
introduced concrete duplication, confusion, or misplaced ownership and the edit
|
|
5
|
+
reduces total complexity.
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
- **Shallow modules** → Combine or deepen
|
|
8
|
-
- **Feature envy** → Move logic to where data lives
|
|
9
|
-
- **Primitive obsession** → Introduce value objects
|
|
10
|
-
- **Existing code** the new code reveals as problematic
|
|
7
|
+
Keep it local. Do not add helpers, classes, value objects, deeper modules, or
|
|
8
|
+
unrelated cleanup from pattern preference alone. Rerun affected tests.
|