Conversation
The deep documentation pass, grounded in the dogfood app: - docs/guides/MENTAL_MODEL.md: how to THINK in Petri nets — marking vs status column, parallelism as state not threads, the three kinds of "or" (XOR guards / OR-input / AND-join) and who decides each, cycles, reset arcs, host-driven time, instance-per-entity vs shared-pool styles, and a worked requirements-to-net translation; every idea names its expense_approval counterpart - docs/guides/PRODUCTION_RECIPES.md: friction entries 5-8 as recipes — Execute retry resets (the silent append bug), exactly-once audit via WithTxSideEffect/WithFireDueTxSideEffect, webhook idempotency by error mapping, cross-instance saga (ordered idempotent writes + one reconciler case per crash window), creation-seed GC, listener at-least-once semantics, token-query lock re-entrancy, migration approval as a policy over the structural diff — each naming the dogfood code and test that proves it, closing with a 7-point checklist - docs/BOUNDARIES.md: the honest statements written out — not a durable-execution engine, no internal clock, listeners at-least-once, history opt-in, org structure in the host, cross-instance atomicity is a seam, no static analyzer yet — each with its host-side pattern - godoc polish: package doc refreshed (Execute write path, transactional effects, token read-model, current flowchart renderer); RETRY RESETS callout with example on Manager.Execute; LOCK RE-ENTRANCY warning on token_query.go's file header and predicate-taking APIs - README gains a documentation index; FRICTION entries 5-8 marked documented; ROADMAP M6 marked delivered (README rewrite stays at the v1.0 gate) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (2)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ 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 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## fingerprint-diff #29 +/- ##
=================================================
Coverage 81.29% 81.29%
=================================================
Files 30 30
Lines 3128 3128
=================================================
Hits 2543 2543
Misses 366 366
Partials 219 219
🚀 New features to boost your workflow:
|
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Summary
The M6 docs milestone, delivered as ROADMAP defined it — "the deep pass, grounded in the dogfood app (not before)". Stacked on #28 (the recipes reference the migration diff).
docs/guides/MENTAL_MODEL.md— how to think in Petri netsThe narrative guide: unlearning the
status VARCHARhabit (a marking is a set), parallelism as state not threads, the three kinds of "or" and who decides each (data → XOR guards, first-arriving branch → OR-input, everyone → AND-join), cycles, reset arcs as declared cancellation, host-driven time, and the instance-per-entity vs shared-pool modeling choice. Ends with a worked six-requirement → six-construct translation. Every idea names itsexpense_approvalcounterpart.docs/guides/PRODUCTION_RECIPES.md— crash windows and idempotency (friction #5–8)Executeretry resets — the silent append-on-retry bug, with the reset rule (friction add badges #6)WithTxSideEffect/WithFireDueTxSideEffect, with the tests that prove rollbackErrNotEnabled→ 200-no-op tableReconcile(friction support yaml and guard expr #5)Executeseeding makes the crash artifact precisely characterizable, then GC it (friction unit tests #8)docs/BOUNDARIES.md— what the library deliberately does not doThe ROADMAP's honest statements written out — not a durable-execution engine, no internal clock, listeners at-least-once, history opt-in, org structure in the host, cross-instance atomicity is a seam, no static analyzer yet — each with the host-side pattern and where its worked example lives.
Godoc polish
Refreshed package doc (Execute write path, transactional effects, token read-model, current flowchart renderer — it still said "state diagram"); RETRY RESETS callout with example on
Manager.Execute; LOCK RE-ENTRANCY warning ontoken_query.go(file header + every predicate-taking API).Housekeeping
README gains a documentation index table; FRICTION entries 5–8 marked ✅ documented (every entry in the log is now shipped or documented); ROADMAP M6 marked ✅ delivered — the full README rewrite deliberately stays at the v1.0 gate.
Checklist
gofmt -s -l .prints nothing /go vet ./...passes (code changes are comments only)go test ./...passes (root + examples, run serialized)CHANGELOG.mdupdated under [Unreleased]🤖 Generated with Claude Code