Skip to content

docs(planning): groom floors — court cards, decision log, read-in arc - #38

Open
djradon wants to merge 1 commit into
mainfrom
lane/groom-2026-08-02-floors
Open

docs(planning): groom floors — court cards, decision log, read-in arc#38
djradon wants to merge 1 commit into
mainfrom
lane/groom-2026-08-02-floors

Conversation

@djradon

@djradon djradon commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

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: renderFirstPayloadWovenKnopInventoryTurtle writes a LocatedFile with type declarations and no digest, even though sflo:hasContentDigest exists in the ontology and the resolver computes SHA-256 on every read. validate is 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 with cmp against 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-state rewrites 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 in sflo.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 with marked and showdown.

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

  • Documentation
    • Added four recorded decisions covering task naming, follow-up handling, release classification, and commit/release intent.
    • Updated the August maintenance log with grooming activity, merged changes, release rehearsal status, analyses, and recovered project decisions.
    • Refreshed read-in notes to reflect the in-progress v0.7.0 release, publication status, staleness review, open items, and current court cards.

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>
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The 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.

Changes

Documentation policy and release tracking

Layer / File(s) Summary
Workflow and release decision rules
documentation/notes/wd.decision-log.md
Adds rules for wa.cancelled.* naming, separate follow-up notes, minor-release classification for capability changes, and pinned commit and release intent references.
Maintenance and release status updates
documentation/notes/wd.maintenance.2026-08.md, documentation/notes/wd.read-in.jimbo.md
Records August maintenance activity and updates the read-in note from the v0.6.0 state to the unreleased v0.7.0 state.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the planning-document grooming across court cards, the decision log, and the read-in arc.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch lane/groom-2026-08-02-floors

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 89023e7 and cd23500.

📒 Files selected for processing (3)
  • documentation/notes/wd.decision-log.md
  • documentation/notes/wd.maintenance.2026-08.md
  • documentation/notes/wd.read-in.jimbo.md

Comment on lines +35 to +37
### 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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ 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

codecov Bot commented Aug 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant