@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.
- package/assets/bundle-metadata.json +1 -1
- package/assets/docs/docs-tooling/add-docs-to-a-repo.md +3 -9
- package/assets/docs/reference/cli-reference.md +8 -3
- package/assets/docs/reference/configuration.md +3 -0
- package/assets/docs/reference/oat-directory-structure.md +1 -1
- package/assets/docs/reference/project-artifacts.md +141 -2
- package/assets/docs/reference/project-state-machine.md +2 -2
- package/assets/docs/workflows/advanced/autonomy.md +29 -12
- package/assets/docs/workflows/advanced/cursor-cloud.md +20 -6
- package/assets/docs/workflows/advanced/workflow-gates.md +9 -0
- package/assets/docs/workflows/projects/closeout/closeout-skills.md +24 -5
- package/assets/docs/workflows/projects/closeout/retro.md +6 -2
- package/assets/docs/workflows/projects/execution/implementation-execution.md +18 -4
- package/assets/docs/workflows/projects/execution/index.md +1 -1
- package/assets/docs/workflows/projects/execution/picking-up-projects.md +3 -2
- package/assets/docs/workflows/projects/execution/project-log.md +100 -11
- package/assets/docs/workflows/projects/lifecycle.md +3 -3
- package/assets/docs/workflows/projects/reviews/index.md +18 -0
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-cursor-cloud-projects/SKILL.md +12 -8
- package/assets/skills/oat-cursor-cloud-projects/references/cursor-cloud-mechanics.md +63 -2
- package/assets/skills/oat-docs/SKILL.md +14 -28
- package/assets/skills/oat-docs-analyze/SKILL.md +4 -2
- package/assets/skills/oat-docs-analyze/references/legacy-scaffold-checks.md +16 -0
- package/assets/skills/oat-docs-apply/SKILL.md +2 -2
- package/assets/skills/oat-docs-authoring/SKILL.md +2 -2
- package/assets/skills/oat-docs-authoring/references/lifecycle-boundaries.md +1 -2
- package/assets/skills/oat-docs-authoring/references/mkdocs-to-oat-fumadocs-refactor-guide.md +73 -0
- package/assets/skills/oat-docs-bootstrap/SKILL.md +44 -310
- package/assets/skills/oat-project-autonomous/SKILL.md +88 -26
- package/assets/skills/oat-project-autonomous/references/gate-inventory.md +1 -1
- package/assets/skills/oat-project-brief/SKILL.md +1 -1
- package/assets/skills/oat-project-brief/references/brief-contract.md +33 -27
- package/assets/skills/oat-project-brief/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-complete/SKILL.md +142 -25
- package/assets/skills/oat-project-complete-auto/SKILL.md +4 -4
- package/assets/skills/oat-project-dispatch-subagents/SKILL.md +10 -5
- package/assets/skills/oat-project-document/SKILL.md +1 -1
- package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-goal/SKILL.md +63 -15
- package/assets/skills/oat-project-goal/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-implement/SKILL.md +6 -6
- package/assets/skills/oat-project-implement/references/completion-and-closeout.md +28 -7
- package/assets/skills/oat-project-implement/references/dispatch-and-dry-run.md +10 -5
- package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-implement/references/phase-execution.md +23 -9
- package/assets/skills/oat-project-implement/references/plan-and-resume.md +4 -4
- package/assets/skills/oat-project-lite/SKILL.md +1 -1
- package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-pr-final/SKILL.md +6 -1
- package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-pr-progress/SKILL.md +6 -1
- package/assets/skills/oat-project-quick-start/SKILL.md +1 -1
- package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +1 -1
- package/assets/skills/oat-project-reconcile/SKILL.md +13 -19
- package/assets/skills/oat-project-retro/SKILL.md +5 -2
- package/assets/skills/oat-project-retro/references/evidence-and-lanes.md +9 -3
- package/assets/skills/oat-project-review-provide/SKILL.md +28 -3
- package/assets/skills/oat-project-review-receive/SKILL.md +32 -18
- package/assets/skills/oat-project-review-receive-remote/SKILL.md +10 -6
- package/assets/skills/oat-project-revise/SKILL.md +9 -2
- package/assets/skills/oat-project-summary/SKILL.md +166 -37
- package/assets/skills/oat-worktree-bootstrap-auto/SKILL.md +3 -3
- package/assets/templates/docs-app-fuma/docs/contributing.md +6 -0
- package/assets/templates/docs-app-fuma/docs/getting-started.md +1 -1
- package/assets/templates/docs-app-fuma/next.config.js +5 -1
- package/assets/templates/implementation-brief.md +5 -36
- package/assets/templates/implementation.md +11 -81
- package/assets/templates/project-log.md +2 -31
- package/assets/templates/project-retro.md +4 -1
- package/assets/templates/summary.md +13 -5
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +44 -1
- package/dist/commands/docs/analyze.js +1 -1
- package/dist/commands/docs/apply.js +1 -1
- package/dist/commands/docs/init/scaffold.d.ts.map +1 -1
- package/dist/commands/docs/init/scaffold.js +35 -2
- package/dist/commands/project/archive/archive-utils.d.ts +205 -8
- package/dist/commands/project/archive/archive-utils.d.ts.map +1 -1
- package/dist/commands/project/archive/archive-utils.js +708 -44
- package/dist/commands/project/archive/index.d.ts.map +1 -1
- package/dist/commands/project/archive/index.js +1 -0
- package/dist/commands/project/archive/push-runner.d.ts +9 -1
- package/dist/commands/project/archive/push-runner.d.ts.map +1 -1
- package/dist/commands/project/archive/push-runner.js +56 -18
- package/dist/commands/project/archive/sync-runner.d.ts +28 -0
- package/dist/commands/project/archive/sync-runner.d.ts.map +1 -1
- package/dist/commands/project/archive/sync-runner.js +44 -22
- package/dist/commands/project/complete-state/index.d.ts.map +1 -1
- package/dist/commands/project/complete-state/index.js +45 -0
- package/dist/commands/project/dispatch/index.d.ts.map +1 -1
- package/dist/commands/project/dispatch/index.js +24 -2
- package/dist/commands/project/dispatch/record.d.ts +54 -1
- package/dist/commands/project/dispatch/record.d.ts.map +1 -1
- package/dist/commands/project/dispatch/record.js +229 -1
- package/dist/commands/project/index.d.ts.map +1 -1
- package/dist/commands/project/index.js +2 -0
- package/dist/commands/project/journal-check/evaluator.d.ts +17 -0
- package/dist/commands/project/journal-check/evaluator.d.ts.map +1 -0
- package/dist/commands/project/journal-check/evaluator.js +140 -0
- package/dist/commands/project/journal-check/index.d.ts +34 -0
- package/dist/commands/project/journal-check/index.d.ts.map +1 -0
- package/dist/commands/project/journal-check/index.js +163 -0
- package/dist/commands/project/journal-check/rules.d.ts +68 -0
- package/dist/commands/project/journal-check/rules.d.ts.map +1 -0
- package/dist/commands/project/journal-check/rules.js +994 -0
- package/dist/commands/project/journal-check/types.d.ts +63 -0
- package/dist/commands/project/journal-check/types.d.ts.map +1 -0
- package/dist/commands/project/journal-check/types.js +26 -0
- package/dist/commands/project/log/append.d.ts +6 -0
- package/dist/commands/project/log/append.d.ts.map +1 -1
- package/dist/commands/project/log/append.js +114 -6
- package/dist/commands/project/log/check.d.ts +23 -1
- package/dist/commands/project/log/check.d.ts.map +1 -1
- package/dist/commands/project/log/check.js +20 -3
- package/dist/commands/project/log/grammar.d.ts +37 -0
- package/dist/commands/project/log/grammar.d.ts.map +1 -1
- package/dist/commands/project/log/grammar.js +72 -0
- package/dist/commands/project/log/rollup.d.ts +87 -1
- package/dist/commands/project/log/rollup.d.ts.map +1 -1
- package/dist/commands/project/log/rollup.js +257 -5
- package/dist/config/oat-config.d.ts +14 -0
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +17 -0
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +5 -1
- package/dist/providers/identity/generic-dispatch-record.d.ts +33 -0
- package/dist/providers/identity/generic-dispatch-record.d.ts.map +1 -1
- package/dist/providers/identity/generic-dispatch-record.js +60 -1
- package/package.json +2 -2
|
@@ -5,7 +5,7 @@ disable-model-invocation: false
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
allowed-tools: Read, Write, Bash(git:*), Bash(jq:*), Bash(oat config:*), Bash(oat decision:*), Bash(oat pjm:*), Bash(oat project log:*), Bash(oat project push:*), Bash(oat project scope:*), Bash(oat template:*), Bash(oat tools:*), Glob, Grep, AskUserQuestion
|
|
7
7
|
metadata:
|
|
8
|
-
version: 1.5.
|
|
8
|
+
version: 1.5.11
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# Project Summary
|
|
@@ -88,6 +88,31 @@ writing prose artifacts does not imply unrelated full test suites.
|
|
|
88
88
|
|
|
89
89
|
## Process
|
|
90
90
|
|
|
91
|
+
### Staged Invocation
|
|
92
|
+
|
|
93
|
+
Staged invocation: the caller states `staged: true`; the summary skill completes Steps 0–5, writes frontmatter, and stops; the caller later states `resume: roll-up` to run Step 6 onward; standalone invocations run straight through.
|
|
94
|
+
|
|
95
|
+
In a staged run:
|
|
96
|
+
|
|
97
|
+
- Step 2.5 performs only the read-only `oat project log check` and identifies
|
|
98
|
+
promotion candidates. Offer them and record the selection under the same
|
|
99
|
+
promotion consent rule as a standalone run, but append nothing yet.
|
|
100
|
+
- Before suspending, write only `summary.md` sections and their freshness
|
|
101
|
+
frontmatter: no project-log append, roll-up, ledger write, decision
|
|
102
|
+
promotion or commit. Suspend with a report that names each selected
|
|
103
|
+
promotion by the original entry's exact heading.
|
|
104
|
+
- The caller sends `resume: roll-up` only after its final journal validation
|
|
105
|
+
succeeds. On resume, first perform the deferred `project` → `general`
|
|
106
|
+
appends exactly as Step 2.5 describes (setting
|
|
107
|
+
`PROJECT_LOG_PROMOTION_APPENDED`), then run Step 6 onward, so the roll-up's
|
|
108
|
+
ledger graduation reads the complete judgment set including the promotions.
|
|
109
|
+
- A staged run that is never resumed has written nothing beyond `summary.md`.
|
|
110
|
+
|
|
111
|
+
Standalone behavior, the seal and ambiguity routing in Step 2.5 and the
|
|
112
|
+
promotion consent rule are unchanged. An inline fallback that follows this
|
|
113
|
+
skill without loading it (`oat-project-complete` Step 3.5) stops at the same
|
|
114
|
+
suspension point.
|
|
115
|
+
|
|
91
116
|
### Step 0: Resolve Active Project
|
|
92
117
|
|
|
93
118
|
OAT stores active project context in `.oat/config.local.json` (`activeProject`, local-only).
|
|
@@ -167,14 +192,17 @@ For every other workflow mode, read all available artifacts for synthesis:
|
|
|
167
192
|
- `"$PROJECT_PATH/implementation.md"` — task outcomes, deviations, challenges, review notes
|
|
168
193
|
- `"$PROJECT_PATH/state.md"` — associated issues, workflow mode
|
|
169
194
|
- `"$PROJECT_PATH/project-log.md"` — optional append-only workflow
|
|
170
|
-
observations; never hand-edit
|
|
171
|
-
|
|
172
|
-
|
|
195
|
+
observations; never hand-edit. Judgment entries whose body opens with a
|
|
196
|
+
`**Category:**` head are the project's learnings; read them first
|
|
197
|
+
- `"$PROJECT_PATH/oat-execution-learnings.md"` — optional legacy learnings
|
|
198
|
+
file written before the log carried categories; read it second and never
|
|
199
|
+
write it
|
|
173
200
|
|
|
174
201
|
**Priority for content:** Implementation.md outcomes take precedence over design.md plans. Summary should reflect what actually happened, not what was planned.
|
|
175
202
|
|
|
176
|
-
If
|
|
177
|
-
|
|
203
|
+
If the project log has no category-bearing judgment entry and
|
|
204
|
+
`oat-execution-learnings.md` is absent, do not infer autonomous learnings from
|
|
205
|
+
other artifacts and do not add an Autonomous Execution Learnings section.
|
|
178
206
|
|
|
179
207
|
### Step 2.5: Check Project Log and Offer Ledger Graduation
|
|
180
208
|
|
|
@@ -244,16 +272,56 @@ test -f "$PROJECT_PATH/summary.md"
|
|
|
244
272
|
```
|
|
245
273
|
|
|
246
274
|
3. Determine update scope:
|
|
247
|
-
-
|
|
248
|
-
|
|
249
|
-
the
|
|
250
|
-
|
|
251
|
-
|
|
275
|
+
- Compute `CURRENT_LEARNINGS_FINGERPRINT` with the function below and
|
|
276
|
+
compare it with `oat_summary_learnings_fingerprint`. When they differ,
|
|
277
|
+
the learning sources are `learnings_changed`: a new or changed learning
|
|
278
|
+
source identity, or a changed recommendation in a legacy entry, requires
|
|
279
|
+
a refresh on its own, whatever the task, revision or phase tracking says.
|
|
280
|
+
A missing field compares as `none`.
|
|
281
|
+
- If `oat_summary_last_task == current_last_task` AND `oat_summary_revision_count == current_rev_count` AND learnings are not `learnings_changed` AND the project-log check reports `status: "ok"` with no entries: **No changes detected. Skip update.** Report: "Summary is current. No updates needed."
|
|
252
282
|
- If `current_rev_count > oat_summary_revision_count`: New revision phases exist. Update: Revision History, What Was Implemented, Follow-up Items.
|
|
253
283
|
- If `current_last_task > oat_summary_last_task`: New tasks completed. Update: What Was Implemented, Notable Challenges, Tradeoffs Made.
|
|
254
284
|
- If `learnings_changed`: update Autonomous Execution Learnings even when
|
|
255
285
|
task and revision tracking fields are unchanged.
|
|
256
286
|
|
|
287
|
+
The learnings fingerprint hashes every category-bearing judgment entry of the
|
|
288
|
+
project log (heading and body) and the whole legacy file, and is `none` when
|
|
289
|
+
neither exists. Uncategorized and structural entries do not move it; they
|
|
290
|
+
reach the summary through the project-log check above and the roll-up.
|
|
291
|
+
|
|
292
|
+
```bash
|
|
293
|
+
summary_learnings_fingerprint() {
|
|
294
|
+
local sources
|
|
295
|
+
sources=$(
|
|
296
|
+
if [ -f "$PROJECT_PATH/project-log.md" ]; then
|
|
297
|
+
awk '
|
|
298
|
+
function flush() { if (heading != "" && categorized) printf "log %s\n%s", heading, body; heading = "" }
|
|
299
|
+
{ sub(/\r$/, "") }
|
|
300
|
+
/^## / { flush(); in_entries = ($0 == "## Entries"); next }
|
|
301
|
+
!in_entries { next }
|
|
302
|
+
/^### / { flush(); heading = $0; body = ""; categorized = 0; head = 1; next }
|
|
303
|
+
heading == "" { next }
|
|
304
|
+
head && /^\*\*Category:\*\* / { categorized = 1 }
|
|
305
|
+
head && !/^\*\*(Category|Source|Origin|Recorded):\*\* / && !/^[ \t]*$/ { head = 0 }
|
|
306
|
+
{ body = body $0 "\n" }
|
|
307
|
+
END { flush() }
|
|
308
|
+
' "$PROJECT_PATH/project-log.md"
|
|
309
|
+
fi
|
|
310
|
+
if [ -f "$PROJECT_PATH/oat-execution-learnings.md" ]; then
|
|
311
|
+
printf 'legacy\n'
|
|
312
|
+
cat "$PROJECT_PATH/oat-execution-learnings.md"
|
|
313
|
+
fi
|
|
314
|
+
)
|
|
315
|
+
if [ -z "$sources" ]; then
|
|
316
|
+
echo none
|
|
317
|
+
return
|
|
318
|
+
fi
|
|
319
|
+
printf '%s' "$sources" | { command -v sha256sum >/dev/null 2>&1 && sha256sum || shasum -a 256; } | cut -d' ' -f1
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
CURRENT_LEARNINGS_FINGERPRINT=$(summary_learnings_fingerprint)
|
|
323
|
+
```
|
|
324
|
+
|
|
257
325
|
**If does not exist (first run):**
|
|
258
326
|
|
|
259
327
|
Copy template: `oat template resolve summary --output "$PROJECT_PATH/summary.md"`
|
|
@@ -396,7 +464,7 @@ spec, or design artifacts.
|
|
|
396
464
|
| Follow-up Items | implementation.md deferred findings, plan.md deferred items |
|
|
397
465
|
| Associated Issues | state.md `associated_issues` field |
|
|
398
466
|
| Workflow Observations | project-log.md via `oat project log rollup` only |
|
|
399
|
-
| Autonomous Execution Learnings |
|
|
467
|
+
| Autonomous Execution Learnings | project-log.md category-bearing judgments, then legacy learnings entries |
|
|
400
468
|
| Explainer Outcome | project-recap `manifest.json` and `qa/result.json`, or the recorded recap skip |
|
|
401
469
|
| Exit-Gate Waivers | state.md `oat_implement_exit_gate.waivers` |
|
|
402
470
|
|
|
@@ -455,7 +523,8 @@ only when the list is absent or empty.
|
|
|
455
523
|
|
|
456
524
|
**Autonomous Execution Learnings (conditional):**
|
|
457
525
|
|
|
458
|
-
When
|
|
526
|
+
When the project log has category-bearing judgment entries or the legacy
|
|
527
|
+
`"$PROJECT_PATH/oat-execution-learnings.md"` exists, synthesize
|
|
459
528
|
`## Autonomous Execution Learnings` as actionable recommendations grouped
|
|
460
529
|
under exactly these categories:
|
|
461
530
|
|
|
@@ -468,6 +537,47 @@ under exactly these categories:
|
|
|
468
537
|
- **Workflow issues** — lifecycle, gate, review, dispatch, or orchestration
|
|
469
538
|
process changes.
|
|
470
539
|
|
|
540
|
+
Read learning sources in this order and deduplicate them by source identity:
|
|
541
|
+
|
|
542
|
+
1. **Unified log entries** — judgment entries of `project-log.md` whose body
|
|
543
|
+
opens with a `**Category:**` head. Read the observation, impact,
|
|
544
|
+
recommendation and uncertainty from the body below the head. The source
|
|
545
|
+
identity is the export-safe token `oat-project:<slug>#<entry-id>`, where
|
|
546
|
+
`<slug>` is the project directory name and `<entry-id>` is the id
|
|
547
|
+
`oat project log rollup` assigns and prints in its digest:
|
|
548
|
+
`<date>-<type>-<area slug>-<n>`. Derive it with `project_log_entry_ids`
|
|
549
|
+
below; never construct a different id.
|
|
550
|
+
2. **Legacy entries** — the `## {timestamp} - {category} - {title}` sections of
|
|
551
|
+
`oat-execution-learnings.md`. The source identity is that exact
|
|
552
|
+
`{timestamp} — {category} — {title}` triple.
|
|
553
|
+
|
|
554
|
+
A legacy entry is a proven twin of a unified entry only when the unified
|
|
555
|
+
entry's `**Recorded:**` value equals the timestamp, its `**Category:**` equals
|
|
556
|
+
the category and its heading area equals the title, each exactly. Use a proven
|
|
557
|
+
twin once, under its unified token. Keep every other entry, including a
|
|
558
|
+
distinct lesson that only shares a title.
|
|
559
|
+
|
|
560
|
+
```bash
|
|
561
|
+
project_log_entry_ids() {
|
|
562
|
+
awk '
|
|
563
|
+
{ sub(/\r$/, "") }
|
|
564
|
+
/^## / { in_entries = ($0 == "## Entries"); next }
|
|
565
|
+
!in_entries { next }
|
|
566
|
+
/^### [0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] · (project|general) · (bug|friction|worked-well|feedback) · / {
|
|
567
|
+
split($0, field, " · ")
|
|
568
|
+
date = substr(field[1], 5); type = field[3]; area = field[4]
|
|
569
|
+
sub(/[ \t]+$/, "", area)
|
|
570
|
+
slug = tolower(area); gsub(/[^a-z0-9]+/, "-", slug); gsub(/^-+|-+$/, "", slug)
|
|
571
|
+
if (slug == "") slug = "entry"
|
|
572
|
+
stem = date "-" type "-" slug
|
|
573
|
+
print stem "-" (++seen[stem]) "\t" $0
|
|
574
|
+
}
|
|
575
|
+
' "$PROJECT_PATH/project-log.md"
|
|
576
|
+
}
|
|
577
|
+
```
|
|
578
|
+
|
|
579
|
+
Each output line is `<entry-id>`, a tab, then the entry's heading.
|
|
580
|
+
|
|
471
581
|
For each source entry:
|
|
472
582
|
|
|
473
583
|
1. Use its `Observation`, `Impact`, and `Recommendation` fields to decide
|
|
@@ -479,28 +589,35 @@ For each source entry:
|
|
|
479
589
|
not a one-to-one output mapping.
|
|
480
590
|
3. Write a concise action plus one-line rationale. Preserve uncertainty and
|
|
481
591
|
environment-limited status; do not claim an unverified fix.
|
|
482
|
-
4. End the item with
|
|
483
|
-
|
|
484
|
-
entry
|
|
485
|
-
|
|
592
|
+
4. End the item with the source identity of every supporting entry as plain
|
|
593
|
+
text, never a Markdown link: the `oat-project:<slug>#<entry-id>` token for a
|
|
594
|
+
unified entry, and `legacy learning {timestamp} — {category} — {title}` for
|
|
595
|
+
a legacy entry. The summary is exported into the tracked repository while
|
|
596
|
+
the log and the legacy file stay with the archived project, so never
|
|
597
|
+
present either as a retrievable path; the archive export finalizes the
|
|
598
|
+
tokens.
|
|
486
599
|
5. Deduplicate recommendations that describe the same action, while retaining
|
|
487
|
-
|
|
600
|
+
every distinct supporting source identity; a merged recommendation lists
|
|
601
|
+
each token and legacy triple once.
|
|
488
602
|
|
|
489
|
-
Omit empty category subheadings. If
|
|
490
|
-
|
|
491
|
-
remove the template placeholder during a first render and make no
|
|
603
|
+
Omit empty category subheadings. If no source contains an actionable entry,
|
|
604
|
+
omit the entire section. With no learning source at all this behavior is
|
|
605
|
+
inert: remove the template placeholder during a first render and make no
|
|
492
606
|
learnings-driven update on a re-run.
|
|
493
607
|
|
|
494
608
|
**Workflow Observations coexistence contract:**
|
|
495
609
|
|
|
496
610
|
Keep `## Workflow Observations` and `## Autonomous Execution Learnings` as
|
|
497
611
|
distinct summary sections. Author the autonomous-execution section first, then
|
|
498
|
-
perform the project-log roll-up in Step 6.
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
section
|
|
612
|
+
perform the project-log roll-up in Step 6. The roll-up writes a bounded digest
|
|
613
|
+
of judgment entries (structural entries stay in the log): one observation line
|
|
614
|
+
per selected entry, with a recommendation only for an uncategorized entry. A
|
|
615
|
+
categorized learning's synthesized recommendation therefore appears once, in
|
|
616
|
+
Autonomous Execution Learnings, while the digest keeps its observation line and
|
|
617
|
+
adds a one-line cross-reference to that section; never restate the digest's
|
|
618
|
+
observations here or a recommendation there. The roll-up command remains the
|
|
619
|
+
only writer of Workflow Observations—never hand-implement its section or
|
|
620
|
+
ledger writes.
|
|
504
621
|
|
|
505
622
|
**For incremental updates (re-run):**
|
|
506
623
|
|
|
@@ -520,9 +637,12 @@ oat_generated: true
|
|
|
520
637
|
oat_summary_last_task: { highest completed task ID }
|
|
521
638
|
oat_summary_revision_count: { count of p-revN phases }
|
|
522
639
|
oat_summary_includes_revisions: [{ list of p-revN IDs reflected }]
|
|
640
|
+
oat_summary_learnings_fingerprint: { CURRENT_LEARNINGS_FINGERPRINT }
|
|
523
641
|
---
|
|
524
642
|
```
|
|
525
643
|
|
|
644
|
+
`oat_summary_learnings_fingerprint` is written in every workflow mode (Step 3).
|
|
645
|
+
|
|
526
646
|
In brief and goal modes write `oat_summary_phase_fingerprint: {CURRENT_PHASE_FINGERPRINT}`
|
|
527
647
|
(Step 3) and omit `oat_summary_last_task`; keep `oat_summary_revision_count`
|
|
528
648
|
and `oat_summary_includes_revisions` as informational fields.
|
|
@@ -530,8 +650,9 @@ and `oat_summary_includes_revisions` as informational fields.
|
|
|
530
650
|
### Step 6: Roll Up Project Observations and Offer Backlog Graduation
|
|
531
651
|
|
|
532
652
|
Run this step after `summary.md` has been authored or refreshed, including the
|
|
533
|
-
distinct `## Autonomous Execution Learnings` section when
|
|
534
|
-
exists.
|
|
653
|
+
distinct `## Autonomous Execution Learnings` section when a learning source
|
|
654
|
+
exists. In a staged invocation this step runs only after `resume: roll-up`,
|
|
655
|
+
once the deferred Step 2.5 promotions are appended.
|
|
535
656
|
|
|
536
657
|
**Goal terminal deferral.** When `oat_workflow_mode` is `goal`, this run
|
|
537
658
|
comes before `pr` in the post-implement sequence (`oat_post_implement_sequence`
|
|
@@ -606,9 +727,12 @@ Route only on the structured `ProjectLogRollupResult`:
|
|
|
606
727
|
- `status: "failed"` or `ledgerOutcome: "failed"`: surface the failure to the
|
|
607
728
|
user and stop before commit. Do not describe the summary as fully rolled up.
|
|
608
729
|
|
|
609
|
-
The command mechanically writes
|
|
610
|
-
|
|
611
|
-
|
|
730
|
+
The command mechanically writes, updates or omits the bounded
|
|
731
|
+
`## Workflow Observations` digest (`summarySection: "written" | "updated" |
|
|
732
|
+
"omitted"`; `omitted` means no judgment entry qualified and the section is
|
|
733
|
+
absent) and appends/deduplicates every eligible `general` judgment in the
|
|
734
|
+
configured ledger, whether or not the digest bound selected it. Do not
|
|
735
|
+
reproduce either write by hand.
|
|
612
736
|
|
|
613
737
|
Separately inspect follow-up-marked project-log entries and offer backlog
|
|
614
738
|
graduation through `oat-pjm-add-backlog-item`. Backlog graduation creates a
|
|
@@ -819,11 +943,16 @@ Summary tracks: last task {task_id}, {N} revision phases
|
|
|
819
943
|
- Summary is under 200 lines for typical projects
|
|
820
944
|
- Re-run after revisions updates only affected sections
|
|
821
945
|
- Re-run with no changes produces no modifications
|
|
822
|
-
- When
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
-
|
|
826
|
-
|
|
946
|
+
- When learning sources exist (category-bearing log entries first, the legacy
|
|
947
|
+
`oat-execution-learnings.md` second), actionable recommendations are grouped
|
|
948
|
+
under Agent-instruction updates, Cloud-environment improvements, Code
|
|
949
|
+
follow-ups, and Workflow issues, each with plain-text source identities and
|
|
950
|
+
each proven twin counted once
|
|
951
|
+
- With no learning source, no Autonomous Execution Learnings section is
|
|
952
|
+
rendered and normal summary behavior is unchanged
|
|
953
|
+
- A new or changed learning source makes the summary stale on its own
|
|
954
|
+
- A staged invocation writes only summary sections and frontmatter before
|
|
955
|
+
`resume: roll-up`
|
|
827
956
|
- Project-log ledger graduation appends a new referencing `general` judgment
|
|
828
957
|
before roll-up and never mutates the original `project` judgment
|
|
829
958
|
- `oat project log rollup --json` owns the distinct Workflow Observations
|
|
@@ -6,7 +6,7 @@ disable-model-invocation: false
|
|
|
6
6
|
user-invocable: false
|
|
7
7
|
allowed-tools: Read, Write, Bash, Glob, Grep
|
|
8
8
|
metadata:
|
|
9
|
-
version: 1.6.
|
|
9
|
+
version: 1.6.4
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# Autonomous Worktree Bootstrap
|
|
@@ -487,7 +487,7 @@ for smoke mode and `false` for normal mode.
|
|
|
487
487
|
|
|
488
488
|
When baseline failures occur under `allow-failing` policy and an active project exists:
|
|
489
489
|
|
|
490
|
-
Append to `implementation.md` under `##
|
|
490
|
+
Append to `implementation.md` under `## Deviations from Plan / Design`, after that section's existing content and before the next `##` heading:
|
|
491
491
|
|
|
492
492
|
```markdown
|
|
493
493
|
### {YYYY-MM-DD} — Baseline Warning (autonomous bootstrap)
|
|
@@ -500,7 +500,7 @@ Append to `implementation.md` under `## Implementation Log`:
|
|
|
500
500
|
- {check_name}: {failure summary}
|
|
501
501
|
```
|
|
502
502
|
|
|
503
|
-
When a base mismatch is detected (Step 2.7) and an active project exists, append a distinct entry regardless of baseline policy so post-mortems can find it:
|
|
503
|
+
When a base mismatch is detected (Step 2.7) and an active project exists, append a distinct entry in the same section regardless of baseline policy so post-mortems can find it:
|
|
504
504
|
|
|
505
505
|
```markdown
|
|
506
506
|
### {YYYY-MM-DD} — Base Mismatch (autonomous bootstrap)
|
|
@@ -65,6 +65,12 @@ Built-in FlexSearch-powered static search for discovering content without browsi
|
|
|
65
65
|
|
|
66
66
|
Theme toggle is included in the layout. Mermaid diagrams re-render on mode switch.
|
|
67
67
|
|
|
68
|
+
## Generated files
|
|
69
|
+
|
|
70
|
+
The app-root `index.md` is the generated manifest, rebuilt from `docs/` on every `predev` and `prebuild` by `oat docs generate-index`. Edit the authored `docs/index.md` and its `## Contents`, then regenerate the manifest; do not hand-edit it.
|
|
71
|
+
|
|
72
|
+
The `docs/**/meta.json` sidebar files are committed derived navigation. After changing authored `## Contents`, run `oat docs nav sync --target-dir "{{APP_DIR}}"` from the repository root to update them. They are separate from the generated app-root manifest.
|
|
73
|
+
|
|
68
74
|
## Agent guidance
|
|
69
75
|
|
|
70
76
|
See `AGENTS.md` in this directory for how agents should work inside this docs app. This `contributing.md` covers human authoring conventions; `AGENTS.md` covers agent runtime discipline (adding pages, restructuring nav, audit/apply, three agent-instruction surfaces). Keeping those concerns separate keeps each file useful to its audience.
|
|
@@ -9,7 +9,7 @@ Use this guide to set up your local environment and preview {{SITE_NAME}}.
|
|
|
9
9
|
|
|
10
10
|
## Prerequisites
|
|
11
11
|
|
|
12
|
-
- Node.js
|
|
12
|
+
- Node.js {{NODE_REQUIREMENT}}
|
|
13
13
|
- pnpm 10+ (or npm/yarn)
|
|
14
14
|
|
|
15
15
|
## Install dependencies
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
// {{TURBOPACK_ROOT_IMPORTS}}
|
|
1
2
|
import { createDocsConfig } from '@open-agent-toolkit/docs-config';
|
|
2
3
|
|
|
3
4
|
const basePath = process.env.NEXT_PUBLIC_BASE_PATH || undefined;
|
|
4
5
|
|
|
5
|
-
export default createDocsConfig(
|
|
6
|
+
export default createDocsConfig({
|
|
7
|
+
...(basePath ? { basePath } : {}),
|
|
8
|
+
// {{TURBOPACK_ROOT_OPTION}}
|
|
9
|
+
});
|
|
@@ -80,50 +80,19 @@ Intent, files, proof command, result.
|
|
|
80
80
|
|
|
81
81
|
## Orchestration Runs
|
|
82
82
|
|
|
83
|
-
|
|
84
|
-
_- Run header (number, timestamp, branch, tier, policy, phase counts)_
|
|
85
|
-
_- Phase Outcomes table_
|
|
86
|
-
_- Parallel Groups list_
|
|
87
|
-
_- Outstanding Items_
|
|
83
|
+
<!-- One line per dispatch request id, rendered by `oat project dispatch record --format line` and written as a list item. Update that line in place with the terminal outcome; never paste the record or event JSON. -->
|
|
88
84
|
|
|
89
85
|
<!-- orchestration-runs-start -->
|
|
90
86
|
|
|
91
|
-
_Orchestration runs from `oat-project-implement` are appended here, most-recent-first within the file but append-only at the bottom of the log._
|
|
92
|
-
|
|
93
87
|
<!-- orchestration-runs-end -->
|
|
94
88
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
## Implementation Log
|
|
98
|
-
|
|
99
|
-
Chronological log of implementation progress.
|
|
100
|
-
|
|
101
|
-
### YYYY-MM-DD
|
|
102
|
-
|
|
103
|
-
**Session Start:** [time]
|
|
104
|
-
|
|
105
|
-
- [x] p01: [Phase name] - [head SHA]
|
|
106
|
-
- [ ] p02: [Phase name] - in progress
|
|
107
|
-
|
|
108
|
-
**What changed (high level):**
|
|
89
|
+
## Reviews and Gates
|
|
109
90
|
|
|
110
|
-
-
|
|
91
|
+
<!-- Receipts for final, milestone and multi-phase reviews (a phase review receipt may stay in its phase) and one terminal line per gate run. state.md owns gate transitions; this slot keeps the outcome, waivers and operator choices. -->
|
|
111
92
|
|
|
112
|
-
|
|
93
|
+
## Deferred Findings
|
|
113
94
|
|
|
114
|
-
-
|
|
115
|
-
|
|
116
|
-
**Follow-ups / TODO:**
|
|
117
|
-
|
|
118
|
-
- [anything discovered during implementation that should be captured for later]
|
|
119
|
-
|
|
120
|
-
**Blockers:**
|
|
121
|
-
|
|
122
|
-
- [Blocker description] - [status: resolved/pending]
|
|
123
|
-
|
|
124
|
-
**Session End:** [time]
|
|
125
|
-
|
|
126
|
-
---
|
|
95
|
+
<!-- One line per approved deferral (finding, rationale, approval, follow-up trigger), plus excluded parallel phases and unmerged worktrees. -->
|
|
127
96
|
|
|
128
97
|
## Deviations from Plan / Design
|
|
129
98
|
|
|
@@ -14,15 +14,7 @@ oat_template_name: implementation
|
|
|
14
14
|
**Started:** YYYY-MM-DD
|
|
15
15
|
**Last Updated:** YYYY-MM-DD
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
>
|
|
19
|
-
> Conventions:
|
|
20
|
-
>
|
|
21
|
-
> - `oat_current_task_id` always points at the **next plan task to do** (not the last completed task).
|
|
22
|
-
> - When all plan tasks are complete, set `oat_current_task_id: null`.
|
|
23
|
-
> - Reviews are **not** plan tasks. Track review status in `plan.md` under `## Reviews` (e.g., `| final | code | passed | ... |`).
|
|
24
|
-
> - Keep phase/task statuses consistent with the Progress Overview table so restarts resume correctly.
|
|
25
|
-
> - Before running the `oat-project-pr-final` skill, fill the Final Summary (for PR/docs) section below with what was actually implemented.
|
|
17
|
+
This journal resumes interrupted implementation sessions. Every plan task has one block in its phase; `oat project journal check` validates it.
|
|
26
18
|
|
|
27
19
|
## Progress Overview
|
|
28
20
|
|
|
@@ -31,7 +23,7 @@ oat_template_name: implementation
|
|
|
31
23
|
| Phase 1 | in_progress | N | 0/N |
|
|
32
24
|
| Phase 2 | pending | N | 0/N |
|
|
33
25
|
|
|
34
|
-
**Total:** 0/
|
|
26
|
+
**Total:** 0/N tasks completed
|
|
35
27
|
|
|
36
28
|
---
|
|
37
29
|
|
|
@@ -50,10 +42,7 @@ oat_template_name: implementation
|
|
|
50
42
|
|
|
51
43
|
- `{path}` - {why}
|
|
52
44
|
|
|
53
|
-
**Verification:**
|
|
54
|
-
|
|
55
|
-
- Run: `{command(s)}`
|
|
56
|
-
- Result: {pass/fail + notes}
|
|
45
|
+
**Verification:** {command(s) run for the phase and the result}
|
|
57
46
|
|
|
58
47
|
**Notes / Decisions:**
|
|
59
48
|
|
|
@@ -61,8 +50,8 @@ oat_template_name: implementation
|
|
|
61
50
|
|
|
62
51
|
### Task p01-t01: {Task Name}
|
|
63
52
|
|
|
64
|
-
**Status:**
|
|
65
|
-
**Commit:**
|
|
53
|
+
**Status:** pending
|
|
54
|
+
**Commit:** -
|
|
66
55
|
|
|
67
56
|
**Outcome (required when completed):**
|
|
68
57
|
|
|
@@ -72,19 +61,12 @@ oat_template_name: implementation
|
|
|
72
61
|
|
|
73
62
|
- `{path}` - {why}
|
|
74
63
|
|
|
75
|
-
**Verification:**
|
|
76
|
-
|
|
77
|
-
- Run: `{command(s)}`
|
|
78
|
-
- Result: {pass/fail + notes}
|
|
64
|
+
**Verification:** {command(s) and result}
|
|
79
65
|
|
|
80
66
|
**Notes / Decisions:**
|
|
81
67
|
|
|
82
68
|
- {gotchas, trade-offs, design deltas, important context for future sessions}
|
|
83
69
|
|
|
84
|
-
**Issues Encountered:**
|
|
85
|
-
|
|
86
|
-
- {Issue and resolution}
|
|
87
|
-
|
|
88
70
|
---
|
|
89
71
|
|
|
90
72
|
### Task p01-t02: {Task Name}
|
|
@@ -92,10 +74,6 @@ oat_template_name: implementation
|
|
|
92
74
|
**Status:** pending
|
|
93
75
|
**Commit:** -
|
|
94
76
|
|
|
95
|
-
**Notes:**
|
|
96
|
-
|
|
97
|
-
- {Notes will be added during implementation}
|
|
98
|
-
|
|
99
77
|
---
|
|
100
78
|
|
|
101
79
|
## Phase 2: {Phase Name}
|
|
@@ -112,58 +90,19 @@ oat_template_name: implementation
|
|
|
112
90
|
|
|
113
91
|
## Orchestration Runs
|
|
114
92
|
|
|
115
|
-
|
|
116
|
-
_- Run header (number, timestamp, branch, tier, policy, phase counts)_
|
|
117
|
-
_- Phase Outcomes table_
|
|
118
|
-
_- Parallel Groups list_
|
|
119
|
-
_- Outstanding Items_
|
|
93
|
+
<!-- One line per dispatch request id, rendered by `oat project dispatch record --format line` and written as a list item. Update that line in place with the terminal outcome; never paste the record or event JSON. -->
|
|
120
94
|
|
|
121
95
|
<!-- orchestration-runs-start -->
|
|
122
96
|
|
|
123
|
-
_Orchestration runs from `oat-project-implement` are appended here, most-recent-first within the file but append-only at the bottom of the log._
|
|
124
|
-
|
|
125
97
|
<!-- orchestration-runs-end -->
|
|
126
98
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
## Implementation Log
|
|
130
|
-
|
|
131
|
-
Chronological log of implementation progress.
|
|
132
|
-
|
|
133
|
-
### YYYY-MM-DD
|
|
134
|
-
|
|
135
|
-
**Session Start:** {time}
|
|
136
|
-
|
|
137
|
-
- [x] p01-t01: {Task name} - {commit sha}
|
|
138
|
-
- [ ] p01-t02: {Task name} - in progress
|
|
139
|
-
|
|
140
|
-
**What changed (high level):**
|
|
99
|
+
## Reviews and Gates
|
|
141
100
|
|
|
142
|
-
-
|
|
101
|
+
<!-- Receipts for final and multi-phase reviews (a phase review receipt may stay in its phase) and one terminal line per gate run. state.md owns gate transitions; this slot keeps the outcome, waivers and operator choices. -->
|
|
143
102
|
|
|
144
|
-
|
|
103
|
+
## Deferred Findings
|
|
145
104
|
|
|
146
|
-
-
|
|
147
|
-
|
|
148
|
-
**Follow-ups / TODO:**
|
|
149
|
-
|
|
150
|
-
- {anything discovered during implementation that should be captured for later}
|
|
151
|
-
|
|
152
|
-
**Blockers:**
|
|
153
|
-
|
|
154
|
-
- {Blocker description} - {status: resolved/pending}
|
|
155
|
-
|
|
156
|
-
**Session End:** {time}
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
### YYYY-MM-DD
|
|
161
|
-
|
|
162
|
-
**Session Start:** {time}
|
|
163
|
-
|
|
164
|
-
{Continue log...}
|
|
165
|
-
|
|
166
|
-
---
|
|
105
|
+
<!-- One line per approved deferral (finding, rationale, approval, follow-up trigger), plus excluded parallel phases and unmerged worktrees. -->
|
|
167
106
|
|
|
168
107
|
## Deviations from Plan / Design
|
|
169
108
|
|
|
@@ -173,15 +112,6 @@ Document any intentional deviations from the original plan, spec, or design. Inc
|
|
|
173
112
|
| ------------- | --------------- | -------------------- | ----------------- | ------ | --------------- | --------- |
|
|
174
113
|
| - | - | - | - | - | - | - |
|
|
175
114
|
|
|
176
|
-
## Test Results
|
|
177
|
-
|
|
178
|
-
Track test execution during implementation.
|
|
179
|
-
|
|
180
|
-
| Phase | Tests Run | Passed | Failed | Coverage |
|
|
181
|
-
| ----- | --------- | ------ | ------ | -------- |
|
|
182
|
-
| 1 | - | - | - | - |
|
|
183
|
-
| 2 | - | - | - | - |
|
|
184
|
-
|
|
185
115
|
## Final Summary (for PR/docs)
|
|
186
116
|
|
|
187
117
|
**What shipped:**
|
|
@@ -8,40 +8,11 @@ oat_last_updated: YYYY-MM-DD
|
|
|
8
8
|
|
|
9
9
|
# Project Log: {Project Name}
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Logging contract
|
|
14
|
-
|
|
15
|
-
Append when something breaks, surprises you, requires a workaround, or works notably well enough to preserve as do-not-regress evidence. Record evidence, not a running narrative. Prior entries are never edited or struck through; append corrections as a new judgment entry that references the original entry and explains the correction. Add a version note to tool-related observations. Create entries only with `oat project log append`; run `oat project log append --help` for the complete entry contract. Reference supporting artifacts by path instead of inlining them. Never record secret values such as tokens, keys, signed URLs, or credentials because this log rolls up into tracked surfaces; reference secrets by name or source, never by value.
|
|
16
|
-
|
|
17
|
-
Judgment entries default to 1–3 sentences covering what happened, the impact or workaround, and any follow-up. High-value entries may instead use this structured body:
|
|
18
|
-
|
|
19
|
-
```text
|
|
20
|
-
Observation: What happened and the supporting evidence.
|
|
21
|
-
Impact: Why it mattered or what workaround was required.
|
|
22
|
-
Recommendation: What should change or be preserved.
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Shared tracked surfaces must be written only from the root checkout, never from parallel worktrees.
|
|
26
|
-
|
|
27
|
-
## Entry format
|
|
28
|
-
|
|
29
|
-
Judgment entries:
|
|
30
|
-
|
|
31
|
-
```text
|
|
32
|
-
### YYYY-MM-DD · <project|general> · <bug|friction|worked-well|feedback> · <area>
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Structural entries:
|
|
36
|
-
|
|
37
|
-
```text
|
|
38
|
-
### YYYY-MM-DD · structural · <producer> · <ref>
|
|
39
|
-
```
|
|
11
|
+
Append-only evidence of what broke, surprised, or worked: write entries only with `oat project log append` (see its `--help`), never edit a prior entry, and never record secret values.
|
|
12
|
+
Contract, entry grammar and roll-up: https://voxmedia.github.io/open-agent-toolkit/workflows/projects/execution/project-log
|
|
40
13
|
|
|
41
14
|
## Entries
|
|
42
15
|
|
|
43
|
-
Entries are chronological and append-only.
|
|
44
|
-
|
|
45
16
|
## End-of-run synthesis (pending — do not skip at project completion)
|
|
46
17
|
|
|
47
18
|
Summarize the overall verdict, adopted adjustments, and entries graduated to the repo ledger or backlog. Roll up durable observations into tracked surfaces before archiving this project log.
|
|
@@ -22,7 +22,10 @@ oat_template_name: project-retro
|
|
|
22
22
|
<!-- Rendered artifacts must replace oat_retro_project with a non-null project
|
|
23
23
|
slug and oat_retro_generated with a UTC YYYY-MM-DDTHH:MM:SSZ timestamp,
|
|
24
24
|
set oat_template: false, and remove oat_template_name. Record every
|
|
25
|
-
inspected evidence source above with status: used | unavailable.
|
|
25
|
+
inspected evidence source above with status: used | unavailable.
|
|
26
|
+
project-log covers the unified learnings (category-bearing judgment
|
|
27
|
+
entries) and is read first; oat-execution-learnings is the legacy file,
|
|
28
|
+
read second and recorded unavailable when absent. When an
|
|
26
29
|
evidence family is partial, split it into truthful source entries, such as
|
|
27
30
|
archived-review-markdown: unavailable and gate-receipts: used. Do not add
|
|
28
31
|
a `partial` evidence status. Derivative current-run reconnaissance
|