@open-agent-toolkit/cli 0.3.21 → 0.3.23

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 (130) hide show
  1. package/assets/bundle-metadata.json +1 -1
  2. package/assets/docs/docs-tooling/add-docs-to-a-repo.md +3 -9
  3. package/assets/docs/reference/cli-reference.md +8 -3
  4. package/assets/docs/reference/configuration.md +3 -0
  5. package/assets/docs/reference/oat-directory-structure.md +1 -1
  6. package/assets/docs/reference/project-artifacts.md +141 -2
  7. package/assets/docs/reference/project-state-machine.md +2 -2
  8. package/assets/docs/workflows/advanced/autonomy.md +29 -12
  9. package/assets/docs/workflows/advanced/cursor-cloud.md +20 -6
  10. package/assets/docs/workflows/advanced/workflow-gates.md +9 -0
  11. package/assets/docs/workflows/projects/closeout/closeout-skills.md +24 -5
  12. package/assets/docs/workflows/projects/closeout/retro.md +6 -2
  13. package/assets/docs/workflows/projects/execution/implementation-execution.md +18 -4
  14. package/assets/docs/workflows/projects/execution/index.md +1 -1
  15. package/assets/docs/workflows/projects/execution/picking-up-projects.md +3 -2
  16. package/assets/docs/workflows/projects/execution/project-log.md +100 -11
  17. package/assets/docs/workflows/projects/lifecycle.md +3 -3
  18. package/assets/docs/workflows/projects/reviews/index.md +18 -0
  19. package/assets/public-package-versions.json +4 -4
  20. package/assets/skills/oat-cursor-cloud-projects/SKILL.md +12 -8
  21. package/assets/skills/oat-cursor-cloud-projects/references/cursor-cloud-mechanics.md +63 -2
  22. package/assets/skills/oat-docs/SKILL.md +14 -28
  23. package/assets/skills/oat-docs-analyze/SKILL.md +4 -2
  24. package/assets/skills/oat-docs-analyze/references/legacy-scaffold-checks.md +16 -0
  25. package/assets/skills/oat-docs-apply/SKILL.md +2 -2
  26. package/assets/skills/oat-docs-authoring/SKILL.md +2 -2
  27. package/assets/skills/oat-docs-authoring/references/lifecycle-boundaries.md +1 -2
  28. package/assets/skills/oat-docs-authoring/references/mkdocs-to-oat-fumadocs-refactor-guide.md +73 -0
  29. package/assets/skills/oat-docs-bootstrap/SKILL.md +44 -310
  30. package/assets/skills/oat-project-autonomous/SKILL.md +88 -26
  31. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +1 -1
  32. package/assets/skills/oat-project-brief/SKILL.md +1 -1
  33. package/assets/skills/oat-project-brief/references/brief-contract.md +33 -27
  34. package/assets/skills/oat-project-brief/references/docs/autonomy-contract.md +1 -1
  35. package/assets/skills/oat-project-complete/SKILL.md +142 -25
  36. package/assets/skills/oat-project-complete-auto/SKILL.md +4 -4
  37. package/assets/skills/oat-project-dispatch-subagents/SKILL.md +10 -5
  38. package/assets/skills/oat-project-document/SKILL.md +1 -1
  39. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +1 -1
  40. package/assets/skills/oat-project-goal/SKILL.md +63 -15
  41. package/assets/skills/oat-project-goal/references/docs/autonomy-contract.md +1 -1
  42. package/assets/skills/oat-project-implement/SKILL.md +6 -6
  43. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +28 -7
  44. package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +10 -5
  45. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +1 -1
  46. package/assets/skills/oat-project-implement/references/phase-execution.md +23 -9
  47. package/assets/skills/oat-project-implement/references/plan-and-resume.md +4 -4
  48. package/assets/skills/oat-project-lite/SKILL.md +1 -1
  49. package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +1 -1
  50. package/assets/skills/oat-project-pr-final/SKILL.md +6 -1
  51. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +1 -1
  52. package/assets/skills/oat-project-pr-progress/SKILL.md +6 -1
  53. package/assets/skills/oat-project-quick-start/SKILL.md +1 -1
  54. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +1 -1
  55. package/assets/skills/oat-project-reconcile/SKILL.md +13 -19
  56. package/assets/skills/oat-project-retro/SKILL.md +5 -2
  57. package/assets/skills/oat-project-retro/references/evidence-and-lanes.md +9 -3
  58. package/assets/skills/oat-project-review-provide/SKILL.md +28 -3
  59. package/assets/skills/oat-project-review-receive/SKILL.md +32 -18
  60. package/assets/skills/oat-project-review-receive-remote/SKILL.md +10 -6
  61. package/assets/skills/oat-project-revise/SKILL.md +9 -2
  62. package/assets/skills/oat-project-summary/SKILL.md +166 -37
  63. package/assets/skills/oat-worktree-bootstrap-auto/SKILL.md +3 -3
  64. package/assets/templates/docs-app-fuma/docs/contributing.md +6 -0
  65. package/assets/templates/docs-app-fuma/docs/getting-started.md +1 -1
  66. package/assets/templates/docs-app-fuma/next.config.js +5 -1
  67. package/assets/templates/implementation-brief.md +5 -36
  68. package/assets/templates/implementation.md +11 -81
  69. package/assets/templates/project-log.md +2 -31
  70. package/assets/templates/project-retro.md +4 -1
  71. package/assets/templates/summary.md +13 -5
  72. package/dist/commands/config/index.d.ts.map +1 -1
  73. package/dist/commands/config/index.js +44 -1
  74. package/dist/commands/docs/analyze.js +1 -1
  75. package/dist/commands/docs/apply.js +1 -1
  76. package/dist/commands/docs/init/scaffold.d.ts.map +1 -1
  77. package/dist/commands/docs/init/scaffold.js +35 -2
  78. package/dist/commands/project/archive/archive-utils.d.ts +205 -8
  79. package/dist/commands/project/archive/archive-utils.d.ts.map +1 -1
  80. package/dist/commands/project/archive/archive-utils.js +708 -44
  81. package/dist/commands/project/archive/index.d.ts.map +1 -1
  82. package/dist/commands/project/archive/index.js +1 -0
  83. package/dist/commands/project/archive/push-runner.d.ts +9 -1
  84. package/dist/commands/project/archive/push-runner.d.ts.map +1 -1
  85. package/dist/commands/project/archive/push-runner.js +56 -18
  86. package/dist/commands/project/archive/sync-runner.d.ts +28 -0
  87. package/dist/commands/project/archive/sync-runner.d.ts.map +1 -1
  88. package/dist/commands/project/archive/sync-runner.js +44 -22
  89. package/dist/commands/project/complete-state/index.d.ts.map +1 -1
  90. package/dist/commands/project/complete-state/index.js +45 -0
  91. package/dist/commands/project/dispatch/index.d.ts.map +1 -1
  92. package/dist/commands/project/dispatch/index.js +24 -2
  93. package/dist/commands/project/dispatch/record.d.ts +54 -1
  94. package/dist/commands/project/dispatch/record.d.ts.map +1 -1
  95. package/dist/commands/project/dispatch/record.js +229 -1
  96. package/dist/commands/project/index.d.ts.map +1 -1
  97. package/dist/commands/project/index.js +2 -0
  98. package/dist/commands/project/journal-check/evaluator.d.ts +17 -0
  99. package/dist/commands/project/journal-check/evaluator.d.ts.map +1 -0
  100. package/dist/commands/project/journal-check/evaluator.js +140 -0
  101. package/dist/commands/project/journal-check/index.d.ts +34 -0
  102. package/dist/commands/project/journal-check/index.d.ts.map +1 -0
  103. package/dist/commands/project/journal-check/index.js +163 -0
  104. package/dist/commands/project/journal-check/rules.d.ts +68 -0
  105. package/dist/commands/project/journal-check/rules.d.ts.map +1 -0
  106. package/dist/commands/project/journal-check/rules.js +994 -0
  107. package/dist/commands/project/journal-check/types.d.ts +63 -0
  108. package/dist/commands/project/journal-check/types.d.ts.map +1 -0
  109. package/dist/commands/project/journal-check/types.js +26 -0
  110. package/dist/commands/project/log/append.d.ts +6 -0
  111. package/dist/commands/project/log/append.d.ts.map +1 -1
  112. package/dist/commands/project/log/append.js +114 -6
  113. package/dist/commands/project/log/check.d.ts +23 -1
  114. package/dist/commands/project/log/check.d.ts.map +1 -1
  115. package/dist/commands/project/log/check.js +20 -3
  116. package/dist/commands/project/log/grammar.d.ts +37 -0
  117. package/dist/commands/project/log/grammar.d.ts.map +1 -1
  118. package/dist/commands/project/log/grammar.js +72 -0
  119. package/dist/commands/project/log/rollup.d.ts +87 -1
  120. package/dist/commands/project/log/rollup.d.ts.map +1 -1
  121. package/dist/commands/project/log/rollup.js +257 -5
  122. package/dist/config/oat-config.d.ts +14 -0
  123. package/dist/config/oat-config.d.ts.map +1 -1
  124. package/dist/config/oat-config.js +17 -0
  125. package/dist/config/resolve.d.ts.map +1 -1
  126. package/dist/config/resolve.js +5 -1
  127. package/dist/providers/identity/generic-dispatch-record.d.ts +33 -0
  128. package/dist/providers/identity/generic-dispatch-record.d.ts.map +1 -1
  129. package/dist/providers/identity/generic-dispatch-record.js +60 -1
  130. package/package.json +2 -2
@@ -6,7 +6,7 @@ disable-model-invocation: true
6
6
  user-invocable: true
7
7
  allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, Task
8
8
  metadata:
9
- version: 1.0.21
9
+ version: 1.0.22
10
10
  ---
11
11
 
12
12
  # Autonomous OAT Project
@@ -99,7 +99,7 @@ If you catch yourself:
99
99
  **Recovery:**
100
100
 
101
101
  1. Persist only safe, owned bookkeeping.
102
- 2. Record the deviation or inventory gap in the learnings log.
102
+ 2. Record the deviation or inventory gap as a learning (Step 4).
103
103
  3. Return to the earliest incomplete canonical lifecycle step, or stop with the
104
104
  structured blocker report.
105
105
 
@@ -117,7 +117,7 @@ Print each indicator only when its step begins:
117
117
  - `[2/9] Detecting persisted lifecycle state…`
118
118
  - `[3/9] Selecting workflow review density…`
119
119
  - `[4/9] Gathering external-integration evidence…`
120
- - `[5/9] Initializing execution learnings…`
120
+ - `[5/9] Preparing the project-log learning write…`
121
121
  - `[6/9] Running lifecycle phases and independent reviews…`
122
122
  - `[7/9] Completing implementation closeout…`
123
123
  - `[8/9] Committing and pushing the phase boundary…`
@@ -388,18 +388,12 @@ continue with checked-out sources when that preserves integrity. Missing
388
388
  evidence that would force material product or safety assumptions is a boundary,
389
389
  not permission to guess.
390
390
 
391
- ### Step 4: Create and Maintain the Learnings Log
391
+ ### Step 4: Record Learnings in the Project Log
392
392
 
393
- At run start, create `"$PROJECT_PATH/oat-execution-learnings.md"` when absent
394
- with `oat_generated: false` and append-only intent. Append UTC-dated entries:
395
-
396
- ```markdown
397
- ## {timestamp} - {category} - {title}
398
-
399
- **Observation:** ...
400
- **Impact:** ...
401
- **Recommendation:** ...
402
- ```
393
+ Learnings are category-bearing judgment entries in `project-log.md`, written
394
+ only through `oat project log append`. Never create or append to
395
+ `oat-execution-learnings.md`; summary and retro still read an existing legacy
396
+ file second.
403
397
 
404
398
  Use only these categories: `gotcha`, `efficiency`, `documentation-gap`,
405
399
  `candidate-skill-content`, `decision`, and `environment-limited`. Record
@@ -407,22 +401,89 @@ degraded routes, inventory gaps, unavailable verification, and reusable
407
401
  improvements. Never record secrets, token values, signed URLs, or active
408
402
  autonomy signals.
409
403
 
410
- After creating the log and after every later append, persist that write before
411
- continuing:
404
+ Give every observation a stable source id: one whitespace-free word that is
405
+ unique to this run and observation, for example
406
+ `autonomous-<run id>-<NN>`. Retain it for retries: the id is both `--source`
407
+ and `--idempotency-key`, so a replayed write reports `already-appended` and
408
+ appends nothing. Write the learning title as `--area`, and the body as
409
+ `Observation:`, `Impact:`, `Recommendation:` and, when it applies,
410
+ `Uncertainty:` lines. Define the write once and call it for every learning:
412
411
 
413
412
  ```bash
414
- PROJECT_SCOPE=$(oat project scope "$PROJECT_PATH" --format value) || {
415
- echo "oat: cannot resolve project scope for $PROJECT_PATH; refusing to commit artifacts" >&2
416
- exit 1
413
+ # Learning write (shared by oat-project-autonomous, oat-cursor-cloud-projects
414
+ # and oat-project-goal): oat_record_learning <category> <source-id> <title> <body>
415
+ oat_record_learning() {
416
+ local category="$1" source="$2" title="$3" body="$4" type result
417
+ case "$category" in
418
+ gotcha | environment-limited) type=friction ;;
419
+ efficiency | candidate-skill-content) type=worked-well ;;
420
+ documentation-gap | decision) type=feedback ;;
421
+ *)
422
+ echo "oat: unknown learning category '$category'" >&2
423
+ return 1
424
+ ;;
425
+ esac
426
+ result=$(oat project log append --json --project "$PROJECT_PATH" \
427
+ --type "$type" --scope project --area "$title" \
428
+ --category "$category" \
429
+ --source "$source" \
430
+ --origin "${LEARNING_ORIGIN:?set to the producer skill name}" \
431
+ --idempotency-key "$source" \
432
+ --body "$body") || {
433
+ printf '%s\n' "$result" >&2
434
+ return 1
435
+ }
436
+ if printf '%s' "$result" | grep -Eq '"status": *"skipped"'; then
437
+ echo "oat: warning: project log disabled (workflow.projectLog=false); learning $source not recorded" >&2
438
+ fi
417
439
  }
418
- if [ "$PROJECT_SCOPE" = "synced" ]; then
419
- oat project push "$PROJECT_PATH" --message "chore(oat): update autonomous execution learnings" || { echo "oat: project push failed; run oat project pull, resolve the reported state, and retry" >&2; exit 1; }
420
- else
421
- OWNED_COMMIT_PATHS=("$PROJECT_PATH/oat-execution-learnings.md")
422
- oat internal commit-paths --identity "${COMMIT_IDENTITY:?set once and retain for retries}:oat-project-autonomous:2" --message "chore(oat): update autonomous execution learnings" -- "${OWNED_COMMIT_PATHS[@]}" || exit 1
440
+ ```
441
+
442
+ Set `LEARNING_ORIGIN=oat-project-autonomous`. The category is preserved
443
+ verbatim in the entry's `**Category:**` head and maps to the judgment type:
444
+ `gotcha` and `environment-limited` → `friction`; `efficiency` and
445
+ `candidate-skill-content` → `worked-well`; `documentation-gap` and `decision`
446
+ → `feedback`.
447
+
448
+ Call the write unconditionally; do not read `workflow.projectLog` yourself.
449
+ The append consults that flag only while `project-log.md` does not exist: with
450
+ the log disabled (`workflow.projectLog: false`) and absent, it creates nothing
451
+ and reports `status: skipped` (`reason: projectLog=false`), the write prints
452
+ its one warning line, records nothing, and the run continues. An existing
453
+ `project-log.md` keeps accepting categorized learnings whatever the flag says
454
+ (`DR-260718-automatic-create-on-first`). Disabling the log stops its creation;
455
+ do not persist the learning anywhere else.
456
+
457
+ Assign the source id before each write and pass that variable, so the commit
458
+ below carries the id just written (`$RUN_ID` is this run's id; `NN` numbers the
459
+ observation and is retained for retries):
460
+
461
+ ```bash
462
+ LEARNING_SOURCE="autonomous-$RUN_ID-NN"
463
+ oat_record_learning <category> "$LEARNING_SOURCE" "<title>" "<body>"
464
+ ```
465
+
466
+ After every write, persist the log before continuing:
467
+
468
+ ```bash
469
+ if [ -f "$PROJECT_PATH/project-log.md" ]; then
470
+ PROJECT_SCOPE=$(oat project scope "$PROJECT_PATH" --format value) || {
471
+ echo "oat: cannot resolve project scope for $PROJECT_PATH; refusing to commit artifacts" >&2
472
+ exit 1
473
+ }
474
+ if [ "$PROJECT_SCOPE" = "synced" ]; then
475
+ oat project push "$PROJECT_PATH" --message "chore(oat): record autonomous execution learning" || { echo "oat: project push failed; run oat project pull, resolve the reported state, and retry" >&2; exit 1; }
476
+ else
477
+ OWNED_COMMIT_PATHS=("$PROJECT_PATH/project-log.md")
478
+ oat internal commit-paths --identity "${COMMIT_IDENTITY:?set once and retain for retries}:oat-project-autonomous:learning:${LEARNING_SOURCE:?set to the source id just written}" --message "chore(oat): record autonomous execution learning" -- "${OWNED_COMMIT_PATHS[@]}" || exit 1
479
+ fi
423
480
  fi
424
481
  ```
425
482
 
483
+ `LEARNING_SOURCE` is the source id just written, so each learning commits
484
+ under its own operation identity; an unset id stops the commit rather than
485
+ sharing one identity across learnings.
486
+
426
487
  ### Step 5: Invoke Lifecycle Skills and Reviews
427
488
 
428
489
  Invoke each lifecycle skill by name and let it own its complete workflow,
@@ -582,7 +643,7 @@ Take this goal from discovery to PR with OAT autonomy: add resumable exports.
582
643
  Do not create or normalize project artifacts by hand.
583
644
 
584
645
  **A lifecycle skill asks an unmapped question:** Treat it as an
585
- `inventory-gap` boundary, record the exact site in the learnings log, and stop
646
+ `inventory-gap` boundary, record the exact site as a learning (Step 4), and stop
586
647
  resumably.
587
648
 
588
649
  **A review launch fails after acceptance:** Continue or retry only through the
@@ -607,4 +668,5 @@ reconciliation path. Do not guess or overwrite the tracker.
607
668
  resumable boundary.
608
669
  - ✅ Phase-boundary commits and non-force pushes are recorded.
609
670
  - ✅ The run ended with a final PR report or a structured blocker report.
610
- - ✅ The learnings log contains reusable, secret-free entries.
671
+ - ✅ Learnings are reusable, secret-free, category-bearing project-log entries,
672
+ or the run reported that the disabled, absent log recorded none.
@@ -324,7 +324,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
324
324
  | `oat-project-summary/SKILL.md` | `68c197c44c18 -> NG`; `a8983fec040c -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `f3e49b727752 -> NG`; `f979b2342d28 -> NG`; `803bf40ec423 -> NG`; `c8fced47ef8e -> NG`; `d7ea1e2a4f5f -> NG`; `5f315ab87cb1 -> NG` |
325
325
  | `oat-project-pr-final/SKILL.md` | `601ac2b890f2 -> NG`; `c264a64398f0 -> NG`; `9efcbcee42ea -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> PRFINAL-01`; `2de348a391c0 -> PRFINAL-03` |
326
326
  | `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
327
- | `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `fffe5eea5ebd -> NG`; `e7dc6fdc4eb3 -> COMPLETE-01`; `e5460e437299 -> NG`; `882b61c9096c -> NG`; `9ffa1c752505 -> NG`; `8c5e599f6bac -> NG` |
327
+ | `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `fffe5eea5ebd -> NG`; `e7dc6fdc4eb3 -> COMPLETE-01`; `e5460e437299 -> NG`; `882b61c9096c -> NG`; `9ffa1c752505 -> NG`; `8c5e599f6bac -> NG` |
328
328
  | `oat-project-review-provide/SKILL.md` | `1f4b981cac8b -> NG`; `adaeca152bb2 -> NG`; `2f7c201c3c06 -> NG`; `88f79700afdc -> NG`; `655d61df0a8f -> NG`; `efafde9ef5a0 -> NG`; `d2a3861d6323 -> REVIEWPROVIDE-02`; `65f5b9cf49cd -> REVIEWPROVIDE-04`; `962cb38d246a -> REVIEWPROVIDE-04`; `1a568483ba0b -> REVIEWPROVIDE-04`; `610e27edfe85 -> REVIEWPROVIDE-04`; `bb0096e95c47 -> REVIEWPROVIDE-06`; `55f6357a987d -> REVIEWPROVIDE-06`; `e3c08ecdab17 -> REVIEWPROVIDE-06`; `1bee61f8531c -> REVIEWPROVIDE-07`; `3d35091607a1 -> REVIEWPROVIDE-08`; `fb40c4341c4c -> NG`; `b22d16885150 -> NG`; `d2b25906242e -> REVIEWPROVIDE-08`; `fd8ebf72b3c4 -> NG`; `79c8103e8656 -> NG`; `4fbd78337e33 -> NG`; `c3d50ea7cf69 -> NG`; `09b1b8dd445c -> NG`; `7acc8f3718d2 -> REVIEWPROVIDE-09`; `b2fa883fc4a2 -> NG`; `fe4421531b4c -> NG` |
329
329
  | `oat-project-review-receive/SKILL.md` | `9b8a3743d626 -> NG`; `49ed2780983b -> NG`; `4ee8730382d3 -> NG`; `655d61df0a8f -> NG`; `765f897d67ac -> NG`; `53b58d16dd32 -> NG`; `fb8755a3bdf4 -> NG`; `1d710fb4cc66 -> NG`; `1f7dd98dff2f -> NG`; `56f78c6740e6 -> NG`; `76f5fb5a88cd -> NG`; `085abfa3599f -> REVIEWRECEIVE-01`; `92578f7df686 -> NG`; `a7d114059bb6 -> NG`; `ac88cfaa83d9 -> NG`; `594bbf70346c -> REVIEWRECEIVE-08`; `f31f07284718 -> REVIEWRECEIVE-02`; `e4c0625439f8 -> REVIEWRECEIVE-04`; `505ad8389c0a -> REVIEWRECEIVE-05`; `20e05e1a4381 -> REVIEWRECEIVE-06`; `e30e06f39281 -> REVIEWRECEIVE-07`; `f8fd58180ecf -> NG`; `c3abcdc02d9f -> NG`; `f2ebdd6abb9b -> NG` |
330
330
  | `oat-project-review-provide/SKILL.md` | `2e794bf4fc4a -> REVIEWPROVIDE-08`; `5441ab977b46 -> REVIEWPROVIDE-08` |
@@ -7,7 +7,7 @@ disable-model-invocation: true
7
7
  user-invocable: true
8
8
  allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, Task
9
9
  metadata:
10
- version: 1.0.2
10
+ version: 1.0.3
11
11
  ---
12
12
 
13
13
  # Brief Project
@@ -206,13 +206,13 @@ unit in document order within the active scope.
206
206
 
207
207
  ## 9. Record ownership
208
208
 
209
- | Record | Owns |
210
- | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
211
- | `plan.md` (the brief) | Intent: outcomes, approach, decisions, phases, review table. |
212
- | `state.md` | Routing, dispatch policy, gate overrides, and the `oat_brief_gate` record. |
213
- | `implementation.md` | The per-phase journal: status, anchors, verification results, review disposition, authority changes, deviations, next action, records. |
214
- | `project-log.md` | Observations and phase amendments, when the project log is enabled. |
215
- | `references/research/` | Research and imported material. |
209
+ | Record | Owns |
210
+ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
211
+ | `plan.md` (the brief) | Intent: outcomes, approach, decisions, phases, review table. |
212
+ | `state.md` | Routing, dispatch policy, gate overrides, and the `oat_brief_gate` record. |
213
+ | `implementation.md` | The per-phase journal: status, anchors, verification results, review disposition, authority changes, next action, records; fixed slots `## Orchestration Runs` (one run line per request id), `## Reviews and Gates` (multi-phase receipts, gate lines), `## Deferred Findings` (approved deferrals, excluded phases, unmerged worktrees), `## Deviations from Plan / Design` (deviations, override lines), `## References` last. |
214
+ | `project-log.md` | Observations and phase amendments, when the project log is enabled. |
215
+ | `references/research/` | Research and imported material. |
216
216
 
217
217
  `pr/` and archived reviews are gitignored; nothing authoritative lives only
218
218
  there.
@@ -392,20 +392,20 @@ milestone's ordered phase set.
392
392
 
393
393
  ### 12.3 Transitions and owners
394
394
 
395
- | From → To | Owner | Prerequisite |
396
- | -------------------------------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
397
- | new → aligning | `oat-project-goal` | scaffold rendered `oat_plan_source: goal` |
398
- | aligning → implementing | `oat-project-goal` | artifact review passed, `plan` carrier `allowed`, approval, and the next phase and every member of the next dispatched group concrete |
399
- | implementing → reviewing | implement milestone closeout | every unit in the milestone scope accepted; `exit` carrier `allowed` and fresh |
400
- | reviewing → delivering | `oat-project-review-receive` | clean receive of the exact integrated review (`passed`) with scope, revisions and exit carrier still valid |
401
- | reviewing → implementing | `oat-project-review-receive` | fixes queued from the integrated review |
402
- | delivering → implementing | `oat-project-review-receive` | fixes queued from a delivery-time review |
403
- | delivered \| delivering → implementing | `oat-project-revise` | inline feedback with an explicit active-milestone target; the appended `p-revN` joins the milestone row; delivery evidence invalidated (writes status and pointer) |
404
- | delivering → reviewing | `oat-project-pr-progress` | `oat project delivery refresh` reports the integrated review or `exit` carrier stale for the active milestone's delivery |
405
- | delivered → reviewing | `oat-project-pr-progress` | `oat-project-goal` hands back a stale `delivered` milestone (Step 5.5 item 3a) and refresh or check reports its registered delivery's integrated review or `exit` carrier not fresh; `oat_phase_status` is left for the next activation to reset |
406
- | delivering → delivered | `oat-project-pr-progress` | delivery registered, members open, review fresh; for an already-registered delivery, a deliverable check of that `dNN` (no new registration) |
407
- | delivered → aligning | `oat-project-goal` | learnings captured (section 12.10) and fresh observations establish the previous delivery at its agreed endpoint; the activation that follows also writes `oat_phase_status: in_progress` and projects `oat_pr_status`/`oat_pr_url` from the latest member's observed status |
408
- | delivered → terminal | `oat-project-goal` (user declaration) | exhaustive outcome audit recorded (section 12.9) |
395
+ | From → To | Owner | Prerequisite |
396
+ | -------------------------------------- | ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
397
+ | new → aligning | `oat-project-goal` | scaffold rendered `oat_plan_source: goal` |
398
+ | aligning → implementing | `oat-project-goal` | artifact review passed, `plan` carrier `allowed`, approval, and the next phase and every member of the next dispatched group concrete |
399
+ | implementing → reviewing | implement milestone closeout | every unit in the milestone scope accepted; `exit` carrier `allowed` and fresh |
400
+ | reviewing → delivering | `oat-project-review-receive` | clean receive of the exact integrated review (`passed`) with scope, revisions and exit carrier still valid |
401
+ | reviewing → implementing | `oat-project-review-receive` | fixes queued from the integrated review |
402
+ | delivering → implementing | `oat-project-review-receive` | fixes queued from a delivery-time review |
403
+ | delivered \| delivering → implementing | `oat-project-revise` | inline feedback with an explicit active-milestone target; the appended `p-revN` joins the milestone row; delivery evidence invalidated (writes status and pointer) |
404
+ | delivering → reviewing | `oat-project-pr-progress` | `oat project delivery refresh` reports the integrated review or `exit` carrier stale for the active milestone's delivery |
405
+ | delivered → reviewing | `oat-project-pr-progress` | `oat-project-goal` hands back a stale `delivered` milestone (Step 5.5 item 3a) and refresh or check reports its registered delivery's integrated review or `exit` carrier not fresh; `oat_phase_status` is left for the next activation to reset |
406
+ | delivering → delivered | `oat-project-pr-progress` | delivery registered, members open, review fresh; for an already-registered delivery, a deliverable check of that `dNN` (no new registration) |
407
+ | delivered → aligning | `oat-project-goal` | learnings captured (section 12.10: the categorized project-log write, or its warned attempt when the log is disabled and absent) and fresh observations establish the previous delivery at its agreed endpoint; the activation that follows also writes `oat_phase_status: in_progress` and projects `oat_pr_status`/`oat_pr_url` from the latest member's observed status |
408
+ | delivered → terminal | `oat-project-goal` (user declaration) | exhaustive outcome audit recorded (section 12.9) |
409
409
 
410
410
  Review-provide records its Reviews event as `received` and never writes
411
411
  `delivering`; `fixes_completed` is not a passed review. The router reads only
@@ -726,18 +726,24 @@ review, the next milestone's `plan` carrier, one approval), and activates only
726
726
  once the previous delivery is observed at its agreed endpoint.
727
727
 
728
728
  **Learnings captured** (the `delivered → aligning` prerequisite) is a concrete
729
- write, not a reflection: one judgment entry (`worked-well` or `friction`)
730
- through `oat project log append` when the project log is enabled; otherwise a
731
- dated entry in the project's `oat-execution-learnings.md`
732
- (created when absent, append-only).
729
+ write, not a reflection: at least one category-bearing judgment entry through
730
+ `oat project log append` with `--category`, a stable per-observation
731
+ `--source` reused as `--idempotency-key`, and `--origin oat-project-goal`
732
+ (the goal skill's learning write). The append consults `workflow.projectLog` only while `project-log.md` does
733
+ not exist. When the project log is disabled and absent the append skips
734
+ (`status: skipped`); the producer prints one warning line and continues, and
735
+ the attempt satisfies the prerequisite. An existing `project-log.md` keeps
736
+ accepting the write whatever the flag says
737
+ (`DR-260718-automatic-create-on-first`). No producer creates
738
+ `oat-execution-learnings.md`.
733
739
 
734
740
  **Structural log entries.** `oat-project-goal` appends exactly one structural
735
741
  entry with `oat project log append --structural --producer oat-project-goal
736
742
  --ref mNN` at each milestone activation and one at each re-alignment entry.
737
743
  The delivery registration owners append one per registration (section 12.7
738
744
  owners: `--producer oat-project-pr-progress --ref dNN` or
739
- `--producer oat-project-pr-final --ref dNN`). Skills never pre-check log
740
- configuration: the helper no-ops when logging is disabled.
745
+ `--producer oat-project-pr-final --ref dNN`). Skills do not read `workflow.projectLog` themselves: the append creates no
746
+ log while it is disabled, and an existing log keeps accepting entries.
741
747
 
742
748
  ### 12.11 Extraction
743
749
 
@@ -324,7 +324,7 @@ remains immutable baseline evidence for the original p01-t01 verification.
324
324
  | `oat-project-summary/SKILL.md` | `68c197c44c18 -> NG`; `a8983fec040c -> NG`; `a167d03559fa -> NG`; `cf317c17c586 -> SUMMARY-01`; `f3e49b727752 -> NG`; `f979b2342d28 -> NG`; `803bf40ec423 -> NG`; `c8fced47ef8e -> NG`; `d7ea1e2a4f5f -> NG`; `5f315ab87cb1 -> NG` |
325
325
  | `oat-project-pr-final/SKILL.md` | `601ac2b890f2 -> NG`; `c264a64398f0 -> NG`; `9efcbcee42ea -> NG`; `655d61df0a8f -> NG`; `cf317c17c586 -> PRFINAL-01`; `2de348a391c0 -> PRFINAL-03` |
326
326
  | `oat-project-pr-final/references/docs/autonomy-contract.md` | `* -> NG` |
327
- | `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `7bcbf58b54e9 -> NG`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `fffe5eea5ebd -> NG`; `e7dc6fdc4eb3 -> COMPLETE-01`; `e5460e437299 -> NG`; `882b61c9096c -> NG`; `9ffa1c752505 -> NG`; `8c5e599f6bac -> NG` |
327
+ | `oat-project-complete/SKILL.md` | `6ed459f9e462 -> NG`; `a167d03559fa -> NG`; `79c2eeed668c -> COMPLETE-01`; `2c1514b9d9af -> COMPLETE-01`; `31c750b4fea7 -> COMPLETE-01`; `cfba413b1293 -> COMPLETE-01`; `7fcfce0423ac -> COMPLETE-01`; `4c7f88a7f942 -> COMPLETE-02`; `6a1a95acc8cc -> COMPLETE-02`; `3b559956b3eb -> COMPLETE-03`; `14d161cdf99b -> COMPLETE-03`; `fffe5eea5ebd -> NG`; `e7dc6fdc4eb3 -> COMPLETE-01`; `e5460e437299 -> NG`; `882b61c9096c -> NG`; `9ffa1c752505 -> NG`; `8c5e599f6bac -> NG` |
328
328
  | `oat-project-review-provide/SKILL.md` | `1f4b981cac8b -> NG`; `adaeca152bb2 -> NG`; `2f7c201c3c06 -> NG`; `88f79700afdc -> NG`; `655d61df0a8f -> NG`; `efafde9ef5a0 -> NG`; `d2a3861d6323 -> REVIEWPROVIDE-02`; `65f5b9cf49cd -> REVIEWPROVIDE-04`; `962cb38d246a -> REVIEWPROVIDE-04`; `1a568483ba0b -> REVIEWPROVIDE-04`; `610e27edfe85 -> REVIEWPROVIDE-04`; `bb0096e95c47 -> REVIEWPROVIDE-06`; `55f6357a987d -> REVIEWPROVIDE-06`; `e3c08ecdab17 -> REVIEWPROVIDE-06`; `1bee61f8531c -> REVIEWPROVIDE-07`; `3d35091607a1 -> REVIEWPROVIDE-08`; `fb40c4341c4c -> NG`; `b22d16885150 -> NG`; `d2b25906242e -> REVIEWPROVIDE-08`; `fd8ebf72b3c4 -> NG`; `79c8103e8656 -> NG`; `4fbd78337e33 -> NG`; `c3d50ea7cf69 -> NG`; `09b1b8dd445c -> NG`; `7acc8f3718d2 -> REVIEWPROVIDE-09`; `b2fa883fc4a2 -> NG`; `fe4421531b4c -> NG` |
329
329
  | `oat-project-review-receive/SKILL.md` | `9b8a3743d626 -> NG`; `49ed2780983b -> NG`; `4ee8730382d3 -> NG`; `655d61df0a8f -> NG`; `765f897d67ac -> NG`; `53b58d16dd32 -> NG`; `fb8755a3bdf4 -> NG`; `1d710fb4cc66 -> NG`; `1f7dd98dff2f -> NG`; `56f78c6740e6 -> NG`; `76f5fb5a88cd -> NG`; `085abfa3599f -> REVIEWRECEIVE-01`; `92578f7df686 -> NG`; `a7d114059bb6 -> NG`; `ac88cfaa83d9 -> NG`; `594bbf70346c -> REVIEWRECEIVE-08`; `f31f07284718 -> REVIEWRECEIVE-02`; `e4c0625439f8 -> REVIEWRECEIVE-04`; `505ad8389c0a -> REVIEWRECEIVE-05`; `20e05e1a4381 -> REVIEWRECEIVE-06`; `e30e06f39281 -> REVIEWRECEIVE-07`; `f8fd58180ecf -> NG`; `c3abcdc02d9f -> NG`; `f2ebdd6abb9b -> NG` |
330
330
  | `oat-project-review-provide/SKILL.md` | `2e794bf4fc4a -> REVIEWPROVIDE-08`; `5441ab977b46 -> REVIEWPROVIDE-08` |