Skip to content

Commit eb2820e

Browse files
Sync Boatstack from Intelligence Flow Labs @ b5f5cd69a44f (#47)
Co-authored-by: operator-stack-publisher[bot] <operator-stack-publisher[bot]@users.noreply.github.com>
1 parent 1e354ba commit eb2820e

9 files changed

Lines changed: 95 additions & 28 deletions

File tree

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# Contributing
44

5-
Boatstack is a generated content distribution. Propose changes to workflow semantics, templates, evidence rules, or generated presentation in [Intelligence Flow](https://github.com/operatorstack/intelligence-flow/tree/7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b/labs/12-product-engineering-loop).
5+
Boatstack is a generated content distribution. Propose changes to workflow semantics, templates, evidence rules, or generated presentation in [Intelligence Flow](https://github.com/operatorstack/intelligence-flow/tree/b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f/labs/12-product-engineering-loop).
66

77
The Boatstack repository receives product/runtime changes through a generated pull request. Review the PR's `UPSTREAM.json`, tests, adapter diff, and context-size change; do not hand-edit generated output on `main`. `.github/workflows` is the exception: it is Boatstack's executable control plane, excluded from scheduled projection and changed only through a separate manually reviewed Boatstack PR.
88

UPSTREAM.json

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"canonical_context": {
3-
"characters": 43912,
4-
"estimated_tokens": 10978,
3+
"characters": 44732,
4+
"estimated_tokens": 11183,
55
"estimator": "ceil(total characters / 4); compactness signal, not provider billing",
66
"files": [
77
"product-engineering-loop/references/workflow.md",
@@ -12,7 +12,7 @@
1212
},
1313
"files": {
1414
".gitignore": "a7079e923a776f14f1bb3a6aa0a11a133a8e1dfb35af020f327623357b7e3957",
15-
"CONTRIBUTING.md": "affb9db2bc920f7887ba8873f56bd3173a770db366aad28d877896535ceebaf1",
15+
"CONTRIBUTING.md": "4fcfafdf6afd69be63a6b04c847e37dcd5ce225d40269519b06d54c44c09eb98",
1616
"README.md": "a840004db57a129ecd361bb0421adfe02065d86751736dd91953c8a8b178e5ef",
1717
"assets/boatstack-journey.svg": "c1f7fe2741f5e9ca66bb3fe9b103e6364ba5acbca8b7a8054768ffd85cf325ea",
1818
"assets/boatstack-mark.svg": "ec96165583b15cfd446c27049d49217973f3e9b1defa5771cc08eec0c9542ce4",
@@ -37,8 +37,8 @@
3737
"boatstack/cmd/boatstack-helper/main_test.go": "ff73003b6a5157202fa09ddf1129fb13c3d79702b2e05a8721ce5a11bf5ab779",
3838
"boatstack/delivery.go": "565bc8465252a798124a29874e1aeffff16e9027d1a86715e11b3e4bc0743bd2",
3939
"boatstack/delivery_test.go": "2545c26389d330a92c11e7b09fb2342101db5d09a825a2a9e81b4ea9eea9407b",
40-
"boatstack/export.go": "786858fbd1a0172371f310937d0f3244cf1f57246e916fdac581e3da8618e67a",
41-
"boatstack/export_test.go": "fbe19b8627c9a66d6e5231aa0e275dccb28f85046a3f2f242a2ca306bb6c2665",
40+
"boatstack/export.go": "176c8e734ebc9e01d4bbe25b48ede049d9a627452260bc7fc77b6e236987a862",
41+
"boatstack/export_test.go": "f5db74fbf344f9286fa5fe19cf591c62343f7754dc55d10129320d00af3e4a9c",
4242
"boatstack/go.mod": "6086ef1b2a83f5696190dca692c653925f27b61f652f659fd3fca43ed54a1641",
4343
"boatstack/go.sum": "26c315c867b11b886f3c9402fce7f341f6a9115a5d61f54afbb5e1b1fb5f6017",
4444
"boatstack/hooks.go": "2b7d899f92efef8a68a160c423a46bcd6fd37daa0eba2ac8ad44ffa3dc5f88c9",
@@ -60,7 +60,7 @@
6060
"boatstack/references/host-hook-contracts.md": "1382213ad004389de6da5a03af43ec28ace6329c9e7a3f07148566cf2ea12727",
6161
"boatstack/references/irreversible-operation-boundary.md": "631743991ace65977586e4537f8dd50f8ae88f8e16f27cf7baad93b2791a73df",
6262
"boatstack/references/portability.md": "fb683095991bb0cb06ec56fb8884c49038b283172a7d2f8b203483b7cacb4bae",
63-
"boatstack/references/workflow.md": "a342d519f8420f34b9431c4624fc6f823034218eebb520e74d0cf5f4f3d5a382",
63+
"boatstack/references/workflow.md": "e449ebea6b3ff42a9e2a82d8974f3b2056c95b8db8e8069091e39405f11acbf8",
6464
"boatstack/release.go": "fa2ac926df89c90c5844e938a2e02d4b8dbbaefbf85bb7a1a89fc51690bea520",
6565
"boatstack/release_test.go": "5cf2d76fe9b836a91ca68eba53d5585e2c4be5b9421aaf939ea0723063a24690",
6666
"boatstack/run.go": "a9afb239c5e2cb80f96dab594f0dc94852f2f16625b1de05c5110ee85f61cfaa",
@@ -80,10 +80,10 @@
8080
"docs/account-recovery-walkthrough.md": "676034974594a7d1a559b24dbed31d7ccc429eb81404b203ca07bbdaa19ec3d3",
8181
"docs/benchmark-corpus-audit.md": "f2d206fe8579a514f9da82b2c96c19b343ac004be67617e1bd34f0f8e0e5e6c6",
8282
"docs/benchmark-submission-audit.md": "9518abdd17690729c6423f87cab20418ed47b0915b5faa44b9ef975e9e9c3b79",
83-
"docs/evidence-engineered-coding.md": "9aca081ae5acded0b8916c7050018adc0ab3b985f822b7364b8cd34a0cfcc9f6",
83+
"docs/evidence-engineered-coding.md": "4d8bf35cb94a92f9b3e01872da738201aa8718b49604257300af30f75740a551",
8484
"docs/generated-files.md": "136422baf0c7fc2bd5100cfe0ebdb3d9d0705dfd7e7d54bf745dd1037e63492c",
8585
"docs/getting-started.md": "eacc814fdffdfa3c7d8052b7cd99a79c04da5c75d88d8b44f3fb68d9afec0316",
86-
"docs/public-claims.json": "811ae32416630876d45c483a24f591a4682deed12403ae3729095081bf7c9eb8",
86+
"docs/public-claims.json": "39aadbc4775609b8a1b95fdec54df618d1d5e9c104a0b3985478bc26c9d26afa",
8787
"docs/public-surface.md": "713f7a050b5f339cf948299103ef3800417dccfecf2cc1a4166397ea6f978907",
8888
"docs/research-and-design.md": "d65c66e323037bda5d45aacef5d48afa6bf93da55901378891d235aca3a5684f",
8989
"docs/safety.md": "7b9b5c515d36e683767ec8d3d9d6d119ac93650b2f629d351deadd4c600ed6a6",
@@ -97,7 +97,7 @@
9797
"labs/diagram-json/compiled/evidence.md": "1ba1c989ade070a8ef9a508fbd788d100d7292f2dbacbb2bce895468019f619d",
9898
"labs/diagram-json/compiled/tasks.json": "88f60851abf79d851e9fccc754ff3040034ae595306bc87d64784c19eb403e71",
9999
"labs/diagram-json/compiled/test-matrix.json": "424657ff505768e50fa113801fd8363364a18269d5297480907a993d44063a39",
100-
"labs/diagram-json/plan.lock.json": "9ad1050a9a6d35b9a2b89c9df269441cd71ed4ff3895240047940abd743a4a69",
100+
"labs/diagram-json/plan.lock.json": "2403efe2031f8c384d177c108837758838bfe27d5b5a4ec33ea7c30112365718",
101101
"labs/diagram-json/plan.md": "3cc4f533b8d69386deff16b3a594a3ba09d4c0c3db636cccd8c4380084ce6a51",
102102
"labs/diagram-json/questions.md": "74733b015002c8a6777c558e7e997fa48c94850b9bd39054fe9366c97ecf728d",
103103
"labs/diagram-json/request.md": "0808fc41c36779c404f4a3a121167da6e76cac56df526e70f9ed6d3e0d4c02ed",
@@ -121,6 +121,7 @@
121121
"release-notes/2026-07-18-safety-sql-boundaries.md": "32011ca3d02a371e8f3f2899ffb34df3af0843d18d25e7db95fbca32c2dcf18c",
122122
"release-notes/2026-07-18-stacked-bar-mark.md": "c4d5bd5fb89c280d7fba015384fd795fcb8c31ffe501078aa55a90cbcf66ba7b",
123123
"release-notes/2026-07-18-startup-recovery-routing.md": "c305a1c2b8347e1bc6d7fcbd4a8e629438cdeb4bcf6f181a7d6fc154a88f4318",
124+
"release-notes/2026-07-19-codex-technical-details.md": "b68672216dbb546dd86680216a59bb2869cdf002604917a34987d0ee5a223ffe",
124125
"release-notes/2026-07-19-cross-harness-hook-conformance.md": "15dc22cc3b534c6d0bd89f34cd69cabf94a3610d445a039ba111fd8bce727e68",
125126
"release-notes/2026-07-19-cursor-claude-pretooluse.md": "d28e35b734c6b6aa565d93a151fffcd3a940839759efcdc00dd44f8494bb599b",
126127
"release-notes/2026-07-19-malformed-host-event-recovery.md": "b13835ae0d6cd6310c3de45ebadf47afd297b650e70ef2bf7a335945be305833",
@@ -132,7 +133,7 @@
132133
"generator": "operatorstack/intelligence-flow:boatstack-distribution",
133134
"schema_version": 1,
134135
"source": {
135-
"commit": "7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b",
136+
"commit": "b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f",
136137
"path": "labs/12-product-engineering-loop",
137138
"repository": "operatorstack/intelligence-flow"
138139
}

boatstack/export.go

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,19 @@ If gstack is enabled, use only its namespaced /gstack-* specialist lenses inside
336336
}
337337
}
338338
if contains(adapters, "codex") {
339-
files[fmt.Sprintf(".agents/skills/%s/SKILL.md", adapterName)], err = GeneratedFrontmatter(adapterSkill)
339+
codexAdapterSkill := strings.Replace(
340+
adapterSkill,
341+
"move machine statuses, helper output, fingerprints, artifact paths, receipts, and locks into collapsed Technical details.",
342+
"move machine statuses, helper output, fingerprints, artifact paths, receipts, and locks under a plain `### Technical details` Markdown heading. Codex must never emit raw `<details>` or `<summary>` tags; preserve the same content without collapse.",
343+
1,
344+
)
345+
codexAdapterSkill = strings.Replace(
346+
codexAdapterSkill,
347+
"keep Review the PR as the one next action and append a collapsed informational notice",
348+
"keep Review the PR as the one next action and append the informational notice under the plain Technical details heading",
349+
1,
350+
)
351+
files[fmt.Sprintf(".agents/skills/%s/SKILL.md", adapterName)], err = GeneratedFrontmatter(codexAdapterSkill)
340352
if err != nil {
341353
return ExportBundle{}, err
342354
}

boatstack/export_test.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,26 @@ func TestExportAndDriftCheck(t *testing.T) {
302302
t.Fatalf("%s does not auto-route free-form delivery changes", path)
303303
}
304304
}
305+
codexRouter := string(bundle.Files[".agents/skills/boatstack/SKILL.md"])
306+
for _, expected := range []string{
307+
"plain `### Technical details` Markdown heading",
308+
"Codex must never emit raw `<details>` or `<summary>` tags",
309+
"preserve the same content without collapse",
310+
} {
311+
if !strings.Contains(codexRouter, expected) {
312+
t.Fatalf("Codex router is missing portable technical-details rule %q", expected)
313+
}
314+
}
315+
if strings.Contains(codexRouter, "into collapsed Technical details") {
316+
t.Fatal("Codex router still requires collapsed user-facing technical details")
317+
}
318+
claudeRouter = string(bundle.Files[".claude/skills/boatstack/SKILL.md"])
319+
if !strings.Contains(claudeRouter, "into collapsed Technical details") {
320+
t.Fatal("Claude router must retain collapsed technical details")
321+
}
322+
if !strings.Contains(string(bundle.Files[".cursor/commands/auto-plan.md"]), "inside collapsed `Technical details`") {
323+
t.Fatal("Cursor commands must retain collapsed technical details")
324+
}
305325
prTemplate := string(bundle.Files[".github/PULL_REQUEST_TEMPLATE/boatstack.md"])
306326
for _, expected := range []string{"## Why this change", "## What changed", "## Review order", "## Evidence", "## Operational safety", "## Known gaps and risks", "## Rollout and rollback", "<summary>Boatstack provenance</summary>"} {
307327
if !strings.Contains(prTemplate, expected) {
@@ -336,6 +356,9 @@ func TestExportAndDriftCheck(t *testing.T) {
336356
"Reply `a` to approve.",
337357
"gh api user --jq .login",
338358
"Never infer the approver",
359+
"Codex and any host without verified HTML disclosure support use portable Markdown instead",
360+
"Never emit raw `<details>` or `<summary>` tags in Codex",
361+
"Unknown hosts default to the portable Markdown form",
339362
} {
340363
if !strings.Contains(workflow, expected) {
341364
t.Fatalf("canonical workflow is missing response contract %q", expected)

boatstack/references/workflow.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@ Hooks are defense in depth rather than a complete sandbox. Protected systems sti
4040

4141
## User-facing response contract
4242

43-
Helper commands and state labels are internal control machinery. Every normal response uses:
43+
Helper commands and state labels are internal control machinery. Every normal response uses
44+
the structure below, with a host-compatible rendering for **Technical details**.
45+
46+
Cursor and Claude Code use a collapsed disclosure:
4447

4548
```markdown
4649
## <Plain-language outcome>
@@ -61,6 +64,28 @@ Machine status, helper output, fingerprints, paths, receipts, and locks.
6164
</details>
6265
```
6366

67+
Codex and any host without verified HTML disclosure support use portable Markdown instead:
68+
69+
```markdown
70+
## <Plain-language outcome>
71+
72+
<One or two sentence summary>
73+
74+
<Only the decision-relevant content for this operation>
75+
76+
### Next step
77+
78+
<Exactly one primary action>
79+
80+
### Technical details
81+
82+
Machine status, helper output, fingerprints, paths, receipts, and locks.
83+
```
84+
85+
Never emit raw `<details>` or `<summary>` tags in Codex. Unknown hosts default to the portable Markdown form; rich disclosure is an explicit host capability, not
86+
an assumption about generic Markdown support. This presentation difference must
87+
not change the information, ordering, gate semantics, or one-action boundary.
88+
6489
Lead with a plain outcome, never a machine code such as `PASS`, `PLAN_APPROVED`, `BLOCKED`, `READY_FOR_BUILD`, `PASS_WITH_GAPS`, or `WAITING_FOR_INPUT`. Keep approval-relevant scope, non-goals, decisions, risks, and gaps visible. Move internal operations (`check-plan`, `record-approval`, `activate-plan`), hashes, paths, tables, receipts, locks, and raw output into **Technical details**. **Exactly one primary action:** end with the action that advances or unblocks the current state; a secondary option gets one short sentence. Never route past a blocked state.
6590

6691
| State | Outcome -> one next action |

docs/evidence-engineered-coding.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ subject to acceptance criteria pass
9696
approval is current
9797
```
9898

99-
That is why context trimming is not automatically an optimization. If removing state increases rework or false acceptance, total cost rises. The canonical runtime references are approximately **10978 estimated tokens**, while host adapters point to one operation at a time.
99+
That is why context trimming is not automatically an optimization. If removing state increases rework or false acceptance, total cost rises. The canonical runtime references are approximately **11183 estimated tokens**, while host adapters point to one operation at a time.
100100

101101
## Control appears at transitions
102102

@@ -146,6 +146,6 @@ Delivery and system improvement also remain separate. A failed task may suggest
146146

147147
## What is evidence-backed
148148

149-
The current moves were derived from the Intelligence Flow benchmark corpus and product-repository studies. The generated source commit is [`7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b`](https://github.com/operatorstack/intelligence-flow/tree/7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b/labs/12-product-engineering-loop).
149+
The current moves were derived from the Intelligence Flow benchmark corpus and product-repository studies. The generated source commit is [`b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f`](https://github.com/operatorstack/intelligence-flow/tree/b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f/labs/12-product-engineering-loop).
150150

151151
The evidence supports specific failure mechanisms and guardrails. It does not establish that Boatstack is optimal, that control-theory notation proves software quality, or that one workflow dominates every team. Those are evaluation questions, so the distribution preserves measurements, provenance, gaps, and negative results.

docs/public-claims.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"schema_version": 1,
3-
"source_commit": "7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b",
3+
"source_commit": "b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f",
44
"statuses": ["verified", "observed", "still_being_evaluated"],
55
"claims": [
66
{
@@ -12,7 +12,7 @@
1212
"readable_evidence": "why-these-steps.md#portable-workflow-and-state",
1313
"implementation": ["../boatstack/export.go", "../boatstack/references/artifacts.md", "../boatstack/references/workflow.md"],
1414
"verification": ["../boatstack/export_test.go"],
15-
"last_verified_version": "source:7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b"
15+
"last_verified_version": "source:b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f"
1616
},
1717
{
1818
"id": "human-decisions",
@@ -23,7 +23,7 @@
2323
"readable_evidence": "why-these-steps.md#human-decisions",
2424
"implementation": ["../boatstack/references/workflow.md", "../boatstack/plan.go"],
2525
"verification": ["../boatstack/plan_test.go", "../boatstack/planning_test.go"],
26-
"last_verified_version": "source:7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b"
26+
"last_verified_version": "source:b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f"
2727
},
2828
{
2929
"id": "validation-provenance",
@@ -34,7 +34,7 @@
3434
"readable_evidence": "why-these-steps.md#validation-provenance",
3535
"implementation": ["validation-and-evidence.md", "../boatstack/plan.go"],
3636
"verification": ["../boatstack/plan_test.go"],
37-
"last_verified_version": "source:7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b"
37+
"last_verified_version": "source:b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f"
3838
},
3939
{
4040
"id": "irreversible-operations",
@@ -46,7 +46,7 @@
4646
"readable_evidence": "why-these-steps.md#irreversible-operations",
4747
"implementation": ["safety.md", "../boatstack/safety.go", "../boatstack/hooks.go"],
4848
"verification": ["../boatstack/safety_test.go", "../boatstack/hooks_test.go"],
49-
"last_verified_version": "source:7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b"
49+
"last_verified_version": "source:b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f"
5050
},
5151
{
5252
"id": "reviewer-ready-pr",
@@ -57,7 +57,7 @@
5757
"readable_evidence": "why-these-steps.md#reviewer-ready-pr",
5858
"implementation": ["../boatstack/pr.go", "getting-started.md"],
5959
"verification": ["../boatstack/pr_test.go"],
60-
"last_verified_version": "source:7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b"
60+
"last_verified_version": "source:b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f"
6161
},
6262
{
6363
"id": "phase-scoped-delivery",
@@ -68,7 +68,7 @@
6868
"readable_evidence": "why-these-steps.md#phase-scoped-delivery",
6969
"implementation": ["../boatstack/delivery.go", "../boatstack/safety.go", "../boatstack/hooks.go", "../boatstack/references/workflow.md"],
7070
"verification": ["../boatstack/delivery_test.go", "../boatstack/pr_test.go"],
71-
"last_verified_version": "source:7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b"
71+
"last_verified_version": "source:b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f"
7272
},
7373
{
7474
"id": "model-neutral-contract",
@@ -79,7 +79,7 @@
7979
"readable_evidence": "why-these-steps.md#model-choice-and-budget",
8080
"implementation": ["research-and-design.md", "../boatstack/references/workflow.md"],
8181
"verification": ["../boatstack/export_test.go", "../boatstack/planning_test.go"],
82-
"last_verified_version": "source:7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b"
82+
"last_verified_version": "source:b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f"
8383
},
8484
{
8585
"id": "cross-model-failures",
@@ -90,7 +90,7 @@
9090
"readable_evidence": "why-these-steps.md#model-choice-and-budget",
9191
"implementation": ["research-and-design.md"],
9292
"verification": ["benchmark-corpus-audit.md", "benchmark-submission-audit.md"],
93-
"last_verified_version": "source:7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b"
93+
"last_verified_version": "source:b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f"
9494
},
9595
{
9696
"id": "lower-cost-outcomes",
@@ -101,7 +101,7 @@
101101
"readable_evidence": "why-these-steps.md#model-choice-and-budget",
102102
"implementation": ["research-and-design.md"],
103103
"verification": ["benchmark-corpus-audit.md", "benchmark-submission-audit.md"],
104-
"last_verified_version": "source:7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b"
104+
"last_verified_version": "source:b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f"
105105
},
106106
{
107107
"id": "git-worktree-activation",
@@ -112,7 +112,7 @@
112112
"readable_evidence": "why-these-steps.md#git-worktree-activation",
113113
"implementation": ["../boatstack/runtime_cache.go", "../boatstack/hooks.go"],
114114
"verification": ["../boatstack/runtime_cache_test.go", "../boatstack/hooks_test.go"],
115-
"last_verified_version": "source:7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b"
115+
"last_verified_version": "source:b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f"
116116
},
117117
{
118118
"id": "visible-updates",
@@ -123,7 +123,7 @@
123123
"readable_evidence": "why-these-steps.md#visible-updates",
124124
"implementation": ["../boatstack/update.go", "../boatstack/init.go"],
125125
"verification": ["../boatstack/update_test.go", "../boatstack/init_test.go", "../boatstack/export_test.go"],
126-
"last_verified_version": "source:7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b"
126+
"last_verified_version": "source:b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f"
127127
}
128128
]
129129
}

labs/diagram-json/plan.lock.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"plan_path": "labs/diagram-json/plan.md",
77
"plan_sha256": "3cc4f533b8d69386deff16b3a594a3ba09d4c0c3db636cccd8c4380084ce6a51",
88
"schema_version": 1,
9-
"source_commit": "7d6ae9e63d7a6106ae7bf6a2a26e1257c455932b",
9+
"source_commit": "b5f5cd69a44fdba533c0b821c55eca08c7fd6b4f",
1010
"source_plan_path": "labs/diagram-json/source-plan.md",
1111
"source_plan_sha256": "e10593ddaa7522ab80cc991d0a09399257139799e37f737794cd49d68a39985b",
1212
"spec_path": "labs/diagram-json/spec.md",

0 commit comments

Comments
 (0)