18 KiB
phase, plan, subsystem, tags, requires, provides, affects, estimate_ref, actuals, plan_head_before, plan_head_after, tech-stack, key-files, key-decisions, patterns-established, requirements-completed, coverage, duration, completed, status
| phase | plan | subsystem | tags | requires | provides | affects | estimate_ref | actuals | plan_head_before | plan_head_after | tech-stack | key-files | key-decisions | patterns-established | requirements-completed | coverage | duration | completed | status | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 11.1-summercms-documentation-for-humans-and-ai-agents | 04 | docs |
|
|
|
|
tokens 150000, tasks 3, confidence low |
|
69dd5764bb |
44bd1446f5 |
|
|
|
|
|
|
47min | 2026-09-30 | complete |
Phase 11.1 Plan 04: Framework content B (Backend, Database, Services) Summary
Thirty-one new guide pages cover the admin backend, the GORM data layer with lagoon transactions and after-commit work, and every framework service from configuration to Web Push, search and parity testing, plus a Frontend and AJAX (not provided) page. Every Go block is an Example or a docs region that go test runs, the database ones against each module's Postgres container.
Performance
- Duration: about 47 min
- Started: 2026-09-30T20:31:46Z
- Completed: 2026-09-30T21:19Z
- Tasks: 3
- Files modified: 68
Accomplishments
- Services section and Jobs tracer:
docs/services/jobs.mdshows a typed job, its registration throughpact.HasJobs, dispatch inside the caller's transaction, thesummer_jobsstatuses, progress and cancellation and the worker commands.TestDocsDispatchstarts a real worker on the conga harness and waits for the dispatched job to complete its row. - Database section: models (Fill, Hidden, hooks, the models-leaf rule), migrations (gormigrate sets, history tables, rollback), queries and pagination (allow-listed
OrderBy,Paginate), relations (pivot models, soft-delete cascades), casts and validation (Jsonable, Encrypted with key rotation, Laravel rule strings), attachments (system_files, thumbnails, two-phase delete) and transactions (AfterCommit rules table, savepoints, the root-handle refusal,OnDatabasecallbacks). SixTestDocs*tests run the regions on the lagoon harness. - Core Services: configuration layers, events (Fire, Collect, UntilHandled with new festival Examples), routing with an auth group built from a bouncer guard, rate limiting and trusted proxies, authentication (tokens, refresh, blacklist, guards, bcrypt), the OAuth server (no default resource quoted), mail (STARTTLS mandatory by default,
starttls/nonemarked development-only) and localization (CLDR plurals with post/posty/postów). - Backend section: admin controllers, forms, lists and filters, relation manager, users and permissions, settings, partials and widgets and the admin SPA. YAML blocks are copies of new
modules/cabana/testdata/docsfixtures thatExampleCompileList,ExampleCompileFormandExampleActivatecompile. - Phase 11 services as shipped: realtime (authorizers on every subscribe,
lighthouse.Mountsurfaces, broadcasts enqueued in the write transaction and published after commit,WithoutBroadcastingplusEmit, the Centrifugo proxy answering 200 with a constant-time secret check), Web Push (https only, allowlisted hosts, no redirects, VAPID key handling), search (after-commit sync, kill-switch gate, stale candidates re-checked in SQL, Typesense requests) and parity testing (record, replay, masked diffs, broadcast goldens). - Frontend and AJAX (not provided): states the headless model and what is not provided, and routes readers to routing, authentication and realtime. The concept map now links a guide page on every row that has one.
TestDocsRequiredPagescovers 49 pages and asserts the section ordersetup, architecture, plugins, backend, database, services, console, api.
Task Commits
- Task 1: Tracer, the Services section with a verified Jobs page:
9d37d56(feat) - Task 2: Database section and the core Services pages:
efb35a2(feat) - Todos for the lagoon gaps found in Task 2:
f7dfe68(docs) - Task 3: Backend section, remaining Services pages and concept-map links:
44bd144(feat)
Plan metadata: the docs(11.1-04) commit that adds this file
Files Created/Modified
See key-files in the frontmatter.
Decisions Made
See key-decisions in the frontmatter.
Deviations from Plan
Auto-fixed Issues
1. [Rule 1 - Bug] The lagoon README's after-commit callback pattern drops its work
- Found during: Task 2
- Issue: A create callback registered
After("gorm:after_create")that callslagoon.AfterCommitis sorted afterlagoon:after_commit, so its buffered work never runs.TestDocsOnDatabasereproduced it. - Fix: The docs region registers
After("gorm:create").Before("gorm:commit_or_rollback_transaction")and the Transactions page warns about the ordering. The README (read-only for this plan) is logged in.planning/todos/pending/lagoon-readme-after-commit-callback-order.md. - Commit:
efb35a2,f7dfe68
2. [Rule 1 - Accuracy] Pivot ordering through Preload fails
- Found during: Task 2
- Issue: Ordering a many2many
Preloadby a pivot column fails with "missing FROM-clause entry", although the lagoon comment and README describe it. - Fix: The Relations region reads through an explicit join; the page carries a warning; the README claim is in the same todo.
- Commit:
efb35a2
3. [Rule 1 - Accuracy] Numeric min failures use the max message
- Found during: Task 2
- Issue:
lagoon.Validateanswers aminfailure on an integer field with "may not be greater than ." (empty limit). - Fix: The example uses
max; the page has a NOTE describing the behaviour; the fix is logged in.planning/todos/pending/lagoon-validate-min-message.md. No module change. - Commit:
efb35a2,f7dfe68
4. [Rule 3 - Blocking] Docs examples changed the registered driver and engine lists
- Found during: Task 3 (full
go test ./...run) - Issue: Registering an
acme-memorysearch engine from an example'sinit, and importing the centrifugo driver into the lighthouse example package, changed the registered-name lists thatTestServiceSetup(beachcomber, read-onlysync_test.go) andTestFromSelectsDriver(lighthouse) assert. - Fix: The toy engine is installed with a test-only hook,
beachcomber.DocsUseEngineinexport_docs_test.go; the Mount example moved tomodules/lighthouse/centrifugo/example_test.goasExampleDriver_Routes. - Commit:
44bd144
5. [Rule 3 - Blocking] Sub-packages matched by the verify patterns had no Example
- Found during: Task 3
- Issue:
./modules/lighthouse/...and./modules/beachcomber/...includecentrifugoandtypesense, which reported "no tests to run" for^(Example|TestDocs), a listed failure condition. - Fix: Added
ExampleProxyHandlerandExampleDriver_Routes(centrifugo) andExampleEngine_SearchIDs(typesense), used on the Realtime and Search pages. - Files modified: modules/lighthouse/centrifugo/example_test.go, modules/beachcomber/typesense/example_test.go (beyond the plan's file list)
- Commit:
44bd144
Other additions beyond the file list
modules/festival/example_test.gogainedExampleBus_CollectandExampleBus_UntilHandledfor the Events page (the plan allowed adding a festival region).modules/cabana/example_controller_test.goandmodules/cabana/testdata/docs/hold the controller, plugin and YAML the Backend pages show as whole-file andyaml src=copies.modules/tide/testdata/docs/posts-spec.yamlis the spec the Parity testing page shows.TestDocsDeclarationstests in lagoon, surf, cabana and beachcomber call the declarations that only GORM or the framework would call, so their#Identfences pass the run check.
Total deviations: 5 auto-fixed (2 blocking, 3 accuracy or bug). Impact: no module code changed; three module gaps are logged as todos.
Issues Encountered
- A debugging detour: a
grep -v "^20"output filter hid the200 ...lines of an Example, which looked like a hang. No code was affected. gofmt -lstill lists pre-existing files (modules/compass/config_test.go,modules/compass/persist_test.go,modules/tide/flow_test.go,modules/tide/headers_test.go,modules/wristband/server.go), untouched by this plan.
Verification
go vet ./...is clean;go test -short ./...is green.go test ./... -count=1with Docker: every package passed except the two registry-list tests broken by task 3's first draft; after the fix,go test ./modules/lighthouse/... ./modules/beachcomber/... -count=1is green, and everyTestDocs*test reports PASS (not SKIP).TestDocsTree,TestDocsRequiredPages(with the section-order assertion),TestDocsAIOutputsInSyncandTestDocsBuildRealTreepass;docs:buildwrites 71 pages;docs:build --checkreports no problems anddocs:syncreports every snippet up to date.scripts/check-phase11.1.sh --docsand--forbidden,scripts/check-phase10.sh --hygieneandscripts/check-phase11.sh --hygienepass.- Acceptance greps: 8 Backend, 7 Database and 16 Services pages; 8 of the 8 listed example files contain
// Output:; the OAuth page has 4 wristbandsrc=fences and none intoserver.go,stores.goorclient_issue.go;STARTTLS,lagoon.AfterCommit,Snowboard,WithoutBroadcastingandSearchIDsappear where required.
Known Stubs
None.
Threat Flags
None. The pages add no runtime surface; the harness exports are _test.go files.
User Setup Required
None.
Next Phase Readiness
Plans 11.1-05 and 11.1-06 can build on a complete sidebar in the D-08 order. The three lagoon todos are ready for a code phase.
Self-Check: PASSED
All created files exist. Commits 9d37d56, efb35a2, f7dfe68 and 44bd144 are in the log.