@open-agent-toolkit/cli 0.3.7 → 0.3.8

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 (71) hide show
  1. package/assets/bundle-metadata.json +1 -1
  2. package/assets/docs/cli-utilities/configuration.md +15 -1
  3. package/assets/docs/cli-utilities/workflow-gates.md +37 -0
  4. package/assets/docs/provider-sync/commands.md +6 -0
  5. package/assets/docs/provider-sync/providers.md +20 -0
  6. package/assets/docs/provider-sync/scope-and-surface.md +2 -0
  7. package/assets/docs/reference/cli-reference.md +2 -1
  8. package/assets/docs/workflows/projects/evidence-layers.md +5 -1
  9. package/assets/docs/workflows/projects/retro.md +7 -0
  10. package/assets/public-package-versions.json +4 -4
  11. package/assets/skills/oat-agent-instructions-analyze/SKILL.md +1 -1
  12. package/assets/skills/oat-agent-instructions-analyze/scripts/resolve-providers.sh +17 -6
  13. package/assets/skills/oat-dispatch-subagents/SKILL.md +1 -1
  14. package/assets/skills/oat-dispatch-subagents/references/managed-claude-example.json +387 -0
  15. package/assets/skills/oat-dispatch-subagents/references/record-schema.md +75 -0
  16. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +1 -1
  17. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +1 -1
  18. package/assets/skills/oat-project-implement/SKILL.md +1 -1
  19. package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +24 -22
  20. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +1 -1
  21. package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +1 -1
  22. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +1 -1
  23. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +1 -1
  24. package/assets/skills/oat-project-retro/SKILL.md +70 -6
  25. package/assets/skills/oat-project-review-provide/SKILL.md +3 -1
  26. package/assets/skills/oat-project-review-provide-remote/SKILL.md +3 -1
  27. package/dist/agents/canonical/resolve.d.ts +6 -4
  28. package/dist/agents/canonical/resolve.d.ts.map +1 -1
  29. package/dist/agents/canonical/resolve.js +6 -4
  30. package/dist/commands/gate/index.d.ts.map +1 -1
  31. package/dist/commands/gate/index.js +51 -2
  32. package/dist/commands/gate/review-verdict.d.ts +22 -0
  33. package/dist/commands/gate/review-verdict.d.ts.map +1 -1
  34. package/dist/commands/gate/review-verdict.js +111 -0
  35. package/dist/commands/project/dispatch/canonical-role.d.ts +33 -0
  36. package/dist/commands/project/dispatch/canonical-role.d.ts.map +1 -0
  37. package/dist/commands/project/dispatch/canonical-role.js +114 -0
  38. package/dist/commands/project/dispatch/index.d.ts.map +1 -1
  39. package/dist/commands/project/dispatch/index.js +3 -1
  40. package/dist/commands/project/dispatch/record.d.ts.map +1 -1
  41. package/dist/commands/project/dispatch/record.js +146 -4
  42. package/dist/commands/sync/apply.d.ts.map +1 -1
  43. package/dist/commands/sync/apply.js +28 -21
  44. package/dist/commands/tools/shared/sync-evidence.d.ts.map +1 -1
  45. package/dist/commands/tools/shared/sync-evidence.js +32 -5
  46. package/dist/config/oat-config.d.ts +8 -0
  47. package/dist/config/oat-config.d.ts.map +1 -1
  48. package/dist/config/oat-config.js +116 -1
  49. package/dist/engine/compute-plan.d.ts.map +1 -1
  50. package/dist/engine/compute-plan.js +31 -3
  51. package/dist/providers/claude/dispatch-envelope.d.ts +53 -0
  52. package/dist/providers/claude/dispatch-envelope.d.ts.map +1 -1
  53. package/dist/providers/claude/dispatch-envelope.js +324 -48
  54. package/dist/providers/claude/rule-transform.js +1 -1
  55. package/dist/providers/copilot/rule-transform.js +1 -1
  56. package/dist/providers/cursor/rule-transform.js +1 -1
  57. package/dist/providers/identity/absolute-paths.d.ts +13 -0
  58. package/dist/providers/identity/absolute-paths.d.ts.map +1 -1
  59. package/dist/providers/identity/absolute-paths.js +27 -14
  60. package/dist/providers/identity/generic-dispatch-record.d.ts +212 -0
  61. package/dist/providers/identity/generic-dispatch-record.d.ts.map +1 -1
  62. package/dist/providers/identity/generic-dispatch-record.js +78 -19
  63. package/dist/providers/identity/oat-dispatch-record.d.ts +5 -0
  64. package/dist/providers/identity/oat-dispatch-record.d.ts.map +1 -1
  65. package/dist/providers/identity/oat-dispatch-record.js +11 -2
  66. package/dist/providers/shared/registry.d.ts +6 -0
  67. package/dist/providers/shared/registry.d.ts.map +1 -1
  68. package/dist/providers/shared/registry.js +30 -0
  69. package/dist/rules/canonical/parse.d.ts.map +1 -1
  70. package/dist/rules/canonical/parse.js +38 -3
  71. package/package.json +2 -2
@@ -208,6 +208,81 @@ otherwise agent-proposed alternate route approved for the current run. For
208
208
  `configured_invocation_evidence`. CLI or SDK availability alone is never a
209
209
  selection source.
210
210
 
211
+ ## Managed Claude Validation Input
212
+
213
+ Before every managed, effort-pinned Claude implementer or reviewer launch,
214
+ `oat-project-implement` runs `oat project dispatch record --event-file <file>
215
+ --json` without `--project` and requires `status: validated-only`. That input
216
+ replaces `record` with three top-level keys:
217
+
218
+ - `claudeLaunch`, an object with three keys of its own:
219
+ - `resolution`: the output of
220
+ `oat project dispatch-ceiling resolve --provider claude --role <implementer|reviewer> --json`,
221
+ verbatim.
222
+ - `definition`: the full text of the generated Claude agent file for the
223
+ selected variant.
224
+ - `payload`: the exact launch payload, `{ "variant": "<variant>" }`,
225
+ optionally with `model` equal to the selected model.
226
+ - `recordBase`: the caller-authored generic fields below.
227
+ - `event`: the `canonical-role-resolution` event, produced rather than written
228
+ by hand.
229
+
230
+ The command derives these fields from the accepted launch, and `recordBase`
231
+ must omit them: `provider`, `dispatch_policy`, `dispatch_ceiling`,
232
+ `role_name`, `role_selector`, `model_selector`,
233
+ `model_selector_granularity`, `effort_selector`, `selection_source`,
234
+ `candidates_considered`, `selection_reason`, `selected_route`, `payload`, and
235
+ `configured_invocation_evidence`. `recordBase` supplies every other required
236
+ generic field: `request_id`, `caller`, `scope`, `objective`, `action`,
237
+ `role_class`, `dispatch_context`, `catalog_snapshot`, `authority`,
238
+ `deadline_seconds`, `retry_limit`, `launch_status`, `child_outcome`,
239
+ `runtime_confirmation`, `diagnostics`, and `continuation_events`. `action` is
240
+ `implementation` or `fix` for the implementer and `review` for the reviewer.
241
+
242
+ Produce the event with the resolver itself:
243
+
244
+ ```bash
245
+ oat project dispatch canonical-role --role <oat-phase-implementer|oat-reviewer> \
246
+ --request-id <recordBase.request_id> --skill-dir <loaded oat-project-implement dir> --json
247
+ ```
248
+
249
+ `--skill-dir` is required because the loaded tier is derived from it; the user
250
+ tier is `$HOME/.agents` and the project tier is `<repo>/.agents`. The command
251
+ is read-only. Its event carries `kind: canonical-role-resolution`, `requestId`
252
+ equal to `recordBase.request_id`, `source: canonical-role-resolver`, and
253
+ `evidence`. Resolved evidence has `dependency`, `canonicalRole`, `tier`,
254
+ `validation` (`direct-canonical` or `exact-canonical-symlink`),
255
+ `canonicalPath`, `selectedPath`, `roleVersion`, `contentDigest`, and
256
+ `candidateMisses`. Paths use the redacted form
257
+ `<loaded|user|project>/agents/<name>.md`, never an absolute or `<repo>` path,
258
+ and `contentDigest` is `sha256:<64 lowercase hex>` of the canonical role file.
259
+ Missing evidence has `status: missing`, the tier misses, and `recovery`
260
+ commands; it validates, but a fallback claim requires resolved evidence.
261
+
262
+ One run reports every violation it can find, one `stage path: message` line
263
+ each, where `stage` is `claudeLaunch`, `recordBase`, or `event`. The
264
+ `recordBase` cross-field rules run even when a required field is missing. A
265
+ check that needs a value that failed to parse is skipped and named on a final
266
+ line: the launch consistency checks when the resolution is malformed, the
267
+ payload variant and model checks when the payload is malformed, and the
268
+ action/role check without a parsed resolution. Fix the reported violations and
269
+ run again. Secret-shaped values are scrubbed from the report as
270
+ `<redacted-secret>`, and absolute paths as `<redacted-path>`.
271
+
272
+ [`managed-claude-example.json`](managed-claude-example.json) holds one complete
273
+ input per role and validates as published. It is built from fixture agents
274
+ rather than the shipped roles, so its definition body, role version, and
275
+ content digest are illustrative. To regenerate it, run `dispatch-ceiling
276
+ resolve` for each role, materialize each definition from a fixture agent with
277
+ the Claude materializer that `oat sync` uses, and run `canonical-role` against
278
+ fixture role files; the CLI test that pins the example must still pass. The
279
+ published events come from a fixture home whose `.agents/agents/` holds both
280
+ roles and whose `.agents/skills/oat-project-implement/` is the `--skill-dir`,
281
+ so the loaded root is that home's `.agents`: expect `tier: loaded`,
282
+ `selectedPath: <loaded>/agents/<role>.md`, and
283
+ `canonicalPath: <user>/agents/<role>.md`. Another layout yields different but
284
+ equally valid tier labels.
285
+
211
286
  ## Recon Wave
212
287
 
213
288
  ```yaml
@@ -274,7 +274,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
274
274
  | `oat-dispatch-subagents/references/provider-claude.md` | `fbe3a21e9533 -> NG` |
275
275
  | `oat-dispatch-subagents/references/provider-codex.md` | `95b0f82018c7 -> NG` |
276
276
  | `oat-dispatch-subagents/references/provider-cursor.md` | `f781555295a9 -> NG`; `55ccfef14fd6 -> NG` |
277
- | `oat-dispatch-subagents/references/record-schema.md` | `78f8069274a8 -> NG`; `1c9a84c4d1e0 -> NG`; `2a63da6e3a96 -> NG`; `30762d53b043 -> NG` |
277
+ | `oat-dispatch-subagents/references/record-schema.md` | `78f8069274a8 -> NG`; `1c9a84c4d1e0 -> NG`; `2a63da6e3a96 -> NG`; `30762d53b043 -> NG`; `66bc2f0d4fda -> NG` |
278
278
  | `oat-project-dispatch-subagents/SKILL.md` | `eca03ad1ca12 -> PDISPATCH-01`; `59fbcdc79cea -> PDISPATCH-01` |
279
279
  | `oat-project-plan/SKILL.md` | `f99e44b39932 -> PLAN-12`; `7e6a9854504b -> NG` |
280
280
  | `oat-project-complete/SKILL.md` | `0177956707aa -> NG`; `8305b5bb65ef -> NG`; `3c0b26f0ff1c -> NG`; `8cc1fa5aab1e -> COMPLETE-01`; `4c209fbb4716 -> COMPLETE-01`; `02e4175e1171 -> COMPLETE-01`; `d698d4f98e76 -> COMPLETE-01`; `9f86a7218d93 -> COMPLETE-01`; `024713698d9a -> COMPLETE-01`; `c327995053fa -> COMPLETE-01`; `61f81d4ec7c1 -> COMPLETE-01`; `14fb2e56809f -> COMPLETE-01`; `7d4ff668744d -> COMPLETE-01`; `502a6c141784 -> COMPLETE-01`; `fb7e2db356af -> COMPLETE-01`; `f73f8476360a -> NG`; `1e15f420039f -> NG`; `cc234032ddd7 -> NG`; `1dd54687229b -> NG`; `fc05c8303cd2 -> NG`; `24be721d635e -> NG` |
@@ -274,7 +274,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
274
274
  | `oat-dispatch-subagents/references/provider-claude.md` | `fbe3a21e9533 -> NG` |
275
275
  | `oat-dispatch-subagents/references/provider-codex.md` | `95b0f82018c7 -> NG` |
276
276
  | `oat-dispatch-subagents/references/provider-cursor.md` | `f781555295a9 -> NG`; `55ccfef14fd6 -> NG` |
277
- | `oat-dispatch-subagents/references/record-schema.md` | `78f8069274a8 -> NG`; `1c9a84c4d1e0 -> NG`; `2a63da6e3a96 -> NG`; `30762d53b043 -> NG` |
277
+ | `oat-dispatch-subagents/references/record-schema.md` | `78f8069274a8 -> NG`; `1c9a84c4d1e0 -> NG`; `2a63da6e3a96 -> NG`; `30762d53b043 -> NG`; `66bc2f0d4fda -> NG` |
278
278
  | `oat-project-dispatch-subagents/SKILL.md` | `eca03ad1ca12 -> PDISPATCH-01`; `59fbcdc79cea -> PDISPATCH-01` |
279
279
  | `oat-project-plan/SKILL.md` | `f99e44b39932 -> PLAN-12`; `7e6a9854504b -> NG` |
280
280
  | `oat-project-complete/SKILL.md` | `0177956707aa -> NG`; `8305b5bb65ef -> NG`; `3c0b26f0ff1c -> NG`; `8cc1fa5aab1e -> COMPLETE-01`; `4c209fbb4716 -> COMPLETE-01`; `02e4175e1171 -> COMPLETE-01`; `d698d4f98e76 -> COMPLETE-01`; `9f86a7218d93 -> COMPLETE-01`; `024713698d9a -> COMPLETE-01`; `c327995053fa -> COMPLETE-01`; `61f81d4ec7c1 -> COMPLETE-01`; `14fb2e56809f -> COMPLETE-01`; `7d4ff668744d -> COMPLETE-01`; `502a6c141784 -> COMPLETE-01`; `fb7e2db356af -> COMPLETE-01`; `f73f8476360a -> NG`; `1e15f420039f -> NG`; `cc234032ddd7 -> NG`; `1dd54687229b -> NG`; `fc05c8303cd2 -> NG`; `24be721d635e -> NG` |
@@ -7,7 +7,7 @@ disable-model-invocation: true
7
7
  user-invocable: true
8
8
  allowed-tools: Read, Write, Bash(git:*), Bash(oat:*), Bash(oat project log:*), Glob, Grep, AskUserQuestion, Task
9
9
  metadata:
10
- version: 2.3.12
10
+ version: 2.3.13
11
11
  ---
12
12
 
13
13
  # Implementation Phase
@@ -513,33 +513,35 @@ Claude rules:
513
513
  - Before any managed effort-pinned Claude launch, pass the real completed
514
514
  resolver JSON, the selected generated `.claude/agents/<variant>.md`
515
515
  definition, and the exact proposed payload through the shipped record
516
- producer. Use its managed input form:
517
-
518
- ```json
519
- {
520
- "claudeLaunch": {
521
- "resolution": { "<complete-resolver-field>": "<value>" },
522
- "definition": "<the exact generated definition text>",
523
- "payload": { "variant": "<the exact native variant>" }
524
- },
525
- "recordBase": { "<generic-nonderived-field>": "<value>" },
526
- "event": { "<canonical-role-resolution-field>": "<value>" }
527
- }
528
- ```
529
-
530
- Construct this JSON with a JSON-aware tool such as `jq --slurpfile` and
531
- `--rawfile`; the placeholder keys illustrate object shapes and are never
532
- literal input. Set the pre-launch record base to `launch_status: planned` and
516
+ producer. Its managed input has three keys: `claudeLaunch` (`resolution`,
517
+ the resolver's `--json` output verbatim; `definition`, the generated
518
+ definition text; `payload`, `{ "variant": "<variant>" }`), `recordBase`, and
519
+ `event`. Produce `event` with
520
+ `oat project dispatch canonical-role --role <oat-phase-implementer|oat-reviewer> --request-id <recordBase.request_id> --skill-dir "${SKILL_DIR}" --json`,
521
+ which prints the `canonical-role-resolution` evidence (redacted paths,
522
+ content digest, tier misses) the recorder accepts unchanged; never write that
523
+ evidence by hand. A `missing` result is still valid evidence and carries the
524
+ recovery commands for the absent role: surface those commands to the
525
+ operator, and note that a later fresh-child fallback still stops under the
526
+ canonical fallback role rule above. Copy the shape of
527
+ `${DISPATCH_SKILLS_ROOT}/oat-dispatch-subagents/references/managed-claude-example.json`,
528
+ one complete validated input per role; its `record-schema.md` section lists
529
+ the `recordBase` fields and the derived fields `recordBase` must omit.
530
+
531
+ Assemble the input with a JSON-aware tool such as `jq --slurpfile` and
532
+ `--rawfile`. Set the pre-launch record base to `launch_status: planned` and
533
533
  `child_outcome: null`, then run
534
534
  `oat project dispatch record --event-file <input> --json` without
535
535
  `--project`. Require `status: validated-only`. Launch only
536
536
  `record.payload.variant` (and `record.payload.model` when present) from that
537
537
  result. The producer rejects a missing or stale variant, an absent or drifted
538
- generated definition, and a conflicting per-call model. After the terminal
539
- child outcome, rebuild through the same managed input with the terminal
540
- status; persistence remains subject to the opt-in rule above. Never copy
541
- model, effort, selector, candidate, or payload fields into the record base:
542
- the accepted envelope owns and derives them.
538
+ generated definition, and a conflicting per-call model. It reports every
539
+ violation it finds in one run, one `stage path: message` line each, so fix
540
+ them together and rerun. After the terminal child outcome, rebuild through
541
+ the same managed input with the terminal status; persistence remains subject
542
+ to the opt-in rule above. Never copy model, effort, selector, candidate, or
543
+ payload fields into the record base: the accepted envelope owns and derives
544
+ them.
543
545
 
544
546
  - Derive `model_axis=selected:<model>` and `effort_axis=selected:<effort>` from
545
547
  resolver output and the constructed variant payload. Legacy model-only
@@ -274,7 +274,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
274
274
  | `oat-dispatch-subagents/references/provider-claude.md` | `fbe3a21e9533 -> NG` |
275
275
  | `oat-dispatch-subagents/references/provider-codex.md` | `95b0f82018c7 -> NG` |
276
276
  | `oat-dispatch-subagents/references/provider-cursor.md` | `f781555295a9 -> NG`; `55ccfef14fd6 -> NG` |
277
- | `oat-dispatch-subagents/references/record-schema.md` | `78f8069274a8 -> NG`; `1c9a84c4d1e0 -> NG`; `2a63da6e3a96 -> NG`; `30762d53b043 -> NG` |
277
+ | `oat-dispatch-subagents/references/record-schema.md` | `78f8069274a8 -> NG`; `1c9a84c4d1e0 -> NG`; `2a63da6e3a96 -> NG`; `30762d53b043 -> NG`; `66bc2f0d4fda -> NG` |
278
278
  | `oat-project-dispatch-subagents/SKILL.md` | `eca03ad1ca12 -> PDISPATCH-01`; `59fbcdc79cea -> PDISPATCH-01` |
279
279
  | `oat-project-plan/SKILL.md` | `f99e44b39932 -> PLAN-12`; `7e6a9854504b -> NG` |
280
280
  | `oat-project-complete/SKILL.md` | `0177956707aa -> NG`; `8305b5bb65ef -> NG`; `3c0b26f0ff1c -> NG`; `8cc1fa5aab1e -> COMPLETE-01`; `4c209fbb4716 -> COMPLETE-01`; `02e4175e1171 -> COMPLETE-01`; `d698d4f98e76 -> COMPLETE-01`; `9f86a7218d93 -> COMPLETE-01`; `024713698d9a -> COMPLETE-01`; `c327995053fa -> COMPLETE-01`; `61f81d4ec7c1 -> COMPLETE-01`; `14fb2e56809f -> COMPLETE-01`; `7d4ff668744d -> COMPLETE-01`; `502a6c141784 -> COMPLETE-01`; `fb7e2db356af -> COMPLETE-01`; `f73f8476360a -> NG`; `1e15f420039f -> NG`; `cc234032ddd7 -> NG`; `1dd54687229b -> NG`; `fc05c8303cd2 -> NG`; `24be721d635e -> NG` |
@@ -274,7 +274,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
274
274
  | `oat-dispatch-subagents/references/provider-claude.md` | `fbe3a21e9533 -> NG` |
275
275
  | `oat-dispatch-subagents/references/provider-codex.md` | `95b0f82018c7 -> NG` |
276
276
  | `oat-dispatch-subagents/references/provider-cursor.md` | `f781555295a9 -> NG`; `55ccfef14fd6 -> NG` |
277
- | `oat-dispatch-subagents/references/record-schema.md` | `78f8069274a8 -> NG`; `1c9a84c4d1e0 -> NG`; `2a63da6e3a96 -> NG`; `30762d53b043 -> NG` |
277
+ | `oat-dispatch-subagents/references/record-schema.md` | `78f8069274a8 -> NG`; `1c9a84c4d1e0 -> NG`; `2a63da6e3a96 -> NG`; `30762d53b043 -> NG`; `66bc2f0d4fda -> NG` |
278
278
  | `oat-project-dispatch-subagents/SKILL.md` | `eca03ad1ca12 -> PDISPATCH-01`; `59fbcdc79cea -> PDISPATCH-01` |
279
279
  | `oat-project-plan/SKILL.md` | `f99e44b39932 -> PLAN-12`; `7e6a9854504b -> NG` |
280
280
  | `oat-project-complete/SKILL.md` | `0177956707aa -> NG`; `8305b5bb65ef -> NG`; `3c0b26f0ff1c -> NG`; `8cc1fa5aab1e -> COMPLETE-01`; `4c209fbb4716 -> COMPLETE-01`; `02e4175e1171 -> COMPLETE-01`; `d698d4f98e76 -> COMPLETE-01`; `9f86a7218d93 -> COMPLETE-01`; `024713698d9a -> COMPLETE-01`; `c327995053fa -> COMPLETE-01`; `61f81d4ec7c1 -> COMPLETE-01`; `14fb2e56809f -> COMPLETE-01`; `7d4ff668744d -> COMPLETE-01`; `502a6c141784 -> COMPLETE-01`; `fb7e2db356af -> COMPLETE-01`; `f73f8476360a -> NG`; `1e15f420039f -> NG`; `cc234032ddd7 -> NG`; `1dd54687229b -> NG`; `fc05c8303cd2 -> NG`; `24be721d635e -> NG` |
@@ -274,7 +274,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
274
274
  | `oat-dispatch-subagents/references/provider-claude.md` | `fbe3a21e9533 -> NG` |
275
275
  | `oat-dispatch-subagents/references/provider-codex.md` | `95b0f82018c7 -> NG` |
276
276
  | `oat-dispatch-subagents/references/provider-cursor.md` | `f781555295a9 -> NG`; `55ccfef14fd6 -> NG` |
277
- | `oat-dispatch-subagents/references/record-schema.md` | `78f8069274a8 -> NG`; `1c9a84c4d1e0 -> NG`; `2a63da6e3a96 -> NG`; `30762d53b043 -> NG` |
277
+ | `oat-dispatch-subagents/references/record-schema.md` | `78f8069274a8 -> NG`; `1c9a84c4d1e0 -> NG`; `2a63da6e3a96 -> NG`; `30762d53b043 -> NG`; `66bc2f0d4fda -> NG` |
278
278
  | `oat-project-dispatch-subagents/SKILL.md` | `eca03ad1ca12 -> PDISPATCH-01`; `59fbcdc79cea -> PDISPATCH-01` |
279
279
  | `oat-project-plan/SKILL.md` | `f99e44b39932 -> PLAN-12`; `7e6a9854504b -> NG` |
280
280
  | `oat-project-complete/SKILL.md` | `0177956707aa -> NG`; `8305b5bb65ef -> NG`; `3c0b26f0ff1c -> NG`; `8cc1fa5aab1e -> COMPLETE-01`; `4c209fbb4716 -> COMPLETE-01`; `02e4175e1171 -> COMPLETE-01`; `d698d4f98e76 -> COMPLETE-01`; `9f86a7218d93 -> COMPLETE-01`; `024713698d9a -> COMPLETE-01`; `c327995053fa -> COMPLETE-01`; `61f81d4ec7c1 -> COMPLETE-01`; `14fb2e56809f -> COMPLETE-01`; `7d4ff668744d -> COMPLETE-01`; `502a6c141784 -> COMPLETE-01`; `fb7e2db356af -> COMPLETE-01`; `f73f8476360a -> NG`; `1e15f420039f -> NG`; `cc234032ddd7 -> NG`; `1dd54687229b -> NG`; `fc05c8303cd2 -> NG`; `24be721d635e -> NG` |