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.
Files changed (69) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +29 -3
  3. package/dist/src/v2/acceptance-proof.d.ts +5 -0
  4. package/dist/src/v2/acceptance-proof.d.ts.map +1 -1
  5. package/dist/src/v2/acceptance-proof.js +10 -2
  6. package/dist/src/v2/acceptance-proof.js.map +1 -1
  7. package/dist/src/v2/adapters/gh-pull-request-adapter.d.ts +7 -1
  8. package/dist/src/v2/adapters/gh-pull-request-adapter.d.ts.map +1 -1
  9. package/dist/src/v2/adapters/gh-pull-request-adapter.js +288 -0
  10. package/dist/src/v2/adapters/gh-pull-request-adapter.js.map +1 -1
  11. package/dist/src/v2/adapters/pull-requests.d.ts +69 -0
  12. package/dist/src/v2/adapters/pull-requests.d.ts.map +1 -1
  13. package/dist/src/v2/adapters/pull-requests.js +48 -0
  14. package/dist/src/v2/adapters/pull-requests.js.map +1 -1
  15. package/dist/src/v2/adapters/worktree.d.ts +1 -0
  16. package/dist/src/v2/adapters/worktree.d.ts.map +1 -1
  17. package/dist/src/v2/adapters/worktree.js +10 -1
  18. package/dist/src/v2/adapters/worktree.js.map +1 -1
  19. package/dist/src/v2/cli.d.ts +9 -0
  20. package/dist/src/v2/cli.d.ts.map +1 -1
  21. package/dist/src/v2/cli.js +38 -11
  22. package/dist/src/v2/cli.js.map +1 -1
  23. package/dist/src/v2/config.d.ts +0 -1
  24. package/dist/src/v2/config.d.ts.map +1 -1
  25. package/dist/src/v2/config.js +0 -3
  26. package/dist/src/v2/config.js.map +1 -1
  27. package/dist/src/v2/containment.d.ts +11 -2
  28. package/dist/src/v2/containment.d.ts.map +1 -1
  29. package/dist/src/v2/containment.js +35 -7
  30. package/dist/src/v2/containment.js.map +1 -1
  31. package/dist/src/v2/direct-delivery.d.ts +1 -1
  32. package/dist/src/v2/direct-delivery.d.ts.map +1 -1
  33. package/dist/src/v2/direct-delivery.js +9 -3
  34. package/dist/src/v2/direct-delivery.js.map +1 -1
  35. package/dist/src/v2/review-feedback-coordinator.d.ts +54 -0
  36. package/dist/src/v2/review-feedback-coordinator.d.ts.map +1 -0
  37. package/dist/src/v2/review-feedback-coordinator.js +245 -0
  38. package/dist/src/v2/review-feedback-coordinator.js.map +1 -0
  39. package/dist/src/v2/review-feedback.d.ts +127 -0
  40. package/dist/src/v2/review-feedback.d.ts.map +1 -0
  41. package/dist/src/v2/review-feedback.js +436 -0
  42. package/dist/src/v2/review-feedback.js.map +1 -0
  43. package/dist/src/v2/run-issue.d.ts +57 -0
  44. package/dist/src/v2/run-issue.d.ts.map +1 -1
  45. package/dist/src/v2/run-issue.js +701 -36
  46. package/dist/src/v2/run-issue.js.map +1 -1
  47. package/dist/src/v2/run-store.d.ts +45 -1
  48. package/dist/src/v2/run-store.d.ts.map +1 -1
  49. package/dist/src/v2/run-store.js +113 -4
  50. package/dist/src/v2/run-store.js.map +1 -1
  51. package/dist/src/v2/runtime.d.ts +37 -0
  52. package/dist/src/v2/runtime.d.ts.map +1 -1
  53. package/dist/src/v2/runtime.js +120 -5
  54. package/dist/src/v2/runtime.js.map +1 -1
  55. package/dist/src/v2/setup.js +1 -1
  56. package/dist/src/v2/setup.js.map +1 -1
  57. package/docs/deep-dive.md +61 -5
  58. package/internal-workflow/docs/agents/contract-test-ledger.md +11 -1
  59. package/internal-workflow/evals/coding-skill-evals.json +18 -0
  60. package/internal-workflow/manifest.json +1 -1
  61. package/internal-workflow/skills/code-debugger/SKILL.md +3 -3
  62. package/internal-workflow/skills/code-review/SKILL.md +18 -6
  63. package/internal-workflow/skills/implementation-spec-maker/agents/openai.yaml +1 -1
  64. package/internal-workflow/skills/spec-implementer/references/review-loop.md +7 -1
  65. package/internal-workflow/skills/tdd/SKILL.md +5 -4
  66. package/internal-workflow/skills/tdd/evals/evals.json +18 -0
  67. package/internal-workflow/skills/tdd/mocking.md +3 -42
  68. package/internal-workflow/skills/tdd/refactoring.md +6 -8
  69. 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, use the shared Contract Test Ledger at `../../docs/agents/contract-test-ledger.md`.
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 the regression contract row for confirmed defects.
51
- - For each confirmed review finding or contract bug, record the invariant, the concrete risk, and the first regression test/proof before patching.
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
- - accept the scheduled mode, session, revision, and lenses from that state
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` and `../../docs/agents/contract-test-ledger.md` when the diff shape matches new fields, retries, DTO/schema/runtime contracts, caches, state merge precedence, ordering, evidence/snapshots, determinism, or aggregation summaries. Load `references/bug-classes.md` for substantial reviews or broad bug hunts.
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 Contract Test Ledger invariant when TDD/spec evidence is available.
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. Decide whether auto-fix is allowed.
193
- 8. Run the narrowest meaningful verification after any fix.
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; for contract defects, add the missing ledger invariant first when a ledger exists or is being created
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 to create the smallest deterministic spec while classifying document mode, implementation size, repository count, and review risk independently."
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 plus an uncertainty amplifier.
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 and refactor only while GREEN.
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. For contract-risk changes, create or update the shared [Contract Test Ledger](../../docs/agents/contract-test-ledger.md) and map each invariant to its first failing test or observable proof.
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
- Refactor as a separate review-stage activity, never while RED. Use [refactoring.md](refactoring.md) for candidates and rerun affected tests after each step.
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
- [ ] Refactoring starts only after GREEN
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
- At system boundaries, design interfaces that are easy to mock:
19
-
20
- **1. Use dependency injection**
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
- # Refactor Candidates
1
+ # Refactoring After GREEN
2
2
 
3
- After TDD cycle, look for:
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
- - **Duplication** → Extract function/class
6
- - **Long methods** → Break into private helpers (keep tests on public interface)
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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex-orchestrator",
3
- "version": "2.0.4",
3
+ "version": "2.0.5",
4
4
  "description": "Reusable GitHub Issues runner for Codex.",
5
5
  "type": "module",
6
6
  "license": "MIT",