docs(planning): groom floors — court cards, decision log, read-in arc - #38
docs(planning): groom floors — court cards, decision log, read-in arc#38djradon wants to merge 1 commit into
Conversation
Two codex read-only analyses harvested into wa.dave-court as cards: - fingerprint verification (lean BUILD-LATER): the gap is real — payload LocatedFiles carry no digest even though sflo:hasContentDigest exists and the resolver already hashes every read — but no consumer asked, and both hold stronger anchors than a self-recorded digest. Surfaced a contract conflict needing a ruling first: --overwrite-existing-state rewrites states in place, so either fingerprinted states become non-overwritable or the guarantee is only current-byte consistency - embedded RDFa/JSON-LD (lean PARK): JSON-LD over RDFa, Microdata dismissed; the page document model is too lossy for an honest graph without a new parsed-dataset seam. A ~547 bytes/page identity slice exists if Dave rules it normative, against 29.41 MiB for full-payload - markdown renderer: the framework Dave could not name is markdown-it, chosen 2025-11-29; unified/remark/rehype was explicitly rejected there Decision log gains four entries: the wa.cancelled.* prefix, carve-before-close, capability-changes-force-a-minor, and the rule that a ruling saying "current code" must name a commit and state whether a release follows. Read-in active arc refreshed to the v0.7.0-in-flight state. All five groom floors met. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
📝 WalkthroughWalkthroughThe change adds four workflow decisions and updates August maintenance and read-in notes. The notes record the v0.7.0 release state, merged work, pending publication, catalogue classification, open court cards, and residual tasks. ChangesDocumentation policy and release tracking
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@documentation/notes/wd.decision-log.md`:
- Around line 35-37: Update the decision-log entry for v0.7.0 to replace “was
cut” with wording that indicates it was classified or prepared as a minor
release, without implying the release was published or tagged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 6da896ab-a0e0-4580-891c-da19c1eb15f8
📒 Files selected for processing (3)
documentation/notes/wd.decision-log.mddocumentation/notes/wd.maintenance.2026-08.mddocumentation/notes/wd.read-in.jimbo.md
| ### 2026-08-02: A Capability Change Forces A Minor, Regardless Of Diff Size | ||
|
|
||
| - Decision: `v0.7.0` was cut as a minor rather than a patch because one of its four changes (`d6f87ca`) makes a previously-*refused* invocation succeed. Three `fix`-labeled changes do not make a release a patch if any change adds capability. Release scope is judged by the shape of the behavior change, not the size of the diff. |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Clarify the v0.7.0 release state.
Line 37 says that v0.7.0 “was cut,” which can mean that it was released. The maintenance note and read-in state that, as of August 2, 2026, no tag exists and publication is pending. Use “was classified as a minor release” or “was prepared as a minor release” instead.
This finding relies on documentation/notes/wd.maintenance.2026-08.md Line 55 and documentation/notes/wd.read-in.jimbo.md Line 51.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@documentation/notes/wd.decision-log.md` around lines 35 - 37, Update the
decision-log entry for v0.7.0 to replace “was cut” with wording that indicates
it was classified or prepared as a minor release, without implying the release
was published or tagged.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Planning-notes only. Archive-side cards landed at
semantic-flow/weave-dev-archive@58db613.All five groom floors met (read-in, queues, court, closure, decision-log); queue gate green at 3 entries.
Two analyses, both landing on "not yet"
Both came back recommending against building — with evidence, and each with its strongest counter-argument stated.
Fingerprint verification — BUILD-LATER. The gap is genuine and specific:
renderFirstPayloadWovenKnopInventoryTurtlewrites a LocatedFile with type declarations and no digest, even thoughsflo:hasContentDigestexists in the ontology and the resolver computes SHA-256 on every read.validateis planner/preflight coverage by explicit contract, not integrity coverage. But no consumer asked, and both real consumers hold stronger anchors than a mesh-local digest — Git tags, tagged source, Accord fixtures. The SFLO publication did this check by hand withcmpagainst tagged source, which is more trustworthy, since an attacker who can edit a payload can edit its digest.It also surfaced a contract conflict that must be ruled before implementation:
--overwrite-existing-staterewrites a state in place, so either fingerprinted states become non-overwritable, or the guarantee is only current byte-consistency and the docs must say so. Shipping without ruling this would make the feature mean something we never decided.Embedded RDFa/JSON-LD — PARK. JSON-LD wins over RDFa, which couples graph correctness to presentation markup — hiding a panel would silently drop triples, and the custom-page renderer bypasses the shared document model entirely. Microdata dismissed. The deeper finding: the page model already drops datatypes, language tags, blank-node identity, and inventory ordinals, so a faithful graph can't be reconstructed from rendered panels without a new parsed-dataset seam.
A cheap slice exists if you want it — the three-triple page-identity graph, ~547 bytes/page, ~0.77 MiB across SFLO, clean seam, no new dependency. Compare full-payload embedding at 29.41 MiB on a 24.61 MiB publication.
One recovered decision
The pluggable markdown framework Dave couldn't name is
markdown-it, chosen 2025-11-29 insflo.conv.2025-11-29-rdf-storage-options(~line 2353, buried inside an RDF-storage conversation). unified/remark/rehype was explicitly rejected there as too heavy, along withmarkedandshowdown.Decision log
Four entries: the
wa.cancelled.*prefix; carve-before-close; capability changes force a minor regardless of diff size; and a ruling that says "current code" must name a commit and state whether a release follows — the ambiguity that made the SFLO publication look like an accident when it was a deliberate pin.🤖 Generated with Claude Code
Summary by CodeRabbit