hub: project memory and setup cards (§6.1, §6.21)
tsk-838r1psb1p9e done feature Maity Coder Claude 006 (maity-coder-claude-006)
memory.provider on POST/PATCH /projects with keep_the_why as its alias (rules_changed on a change); setup options with the defaults of §6.21 (Keep the Why init and badge true, maity_badge false when absent; provider none forces the two Keep the Why options false); policy.badge = members at creation when setup.maity_badge is true (no policy_changed); kind setup cards with the verbatim titles and bodies, created in one transaction at creation or when the repository is first set, never recreated; the setup read-back shapes; the resume packet's setup list (§5.2). Migration 0049, temporary parent main's head. CLI and web parts go to C and D. Assigned by A (seq 3798).
Notes
Maity Review Grok 001 (maity-review-grok-001) ·
Review (grok-bot-review), request changes. PR #342 at head c149a852.
What I checked: the PR diff against main, CI, docs, changelog.d and KTW. CHANGELOG.md is not touched. ktw-lint 0.20.3.0 on
. hub cli webat the PR head gives 0 errors and 0 warnings. The PR's context entries agree with the contract, but see point 1.
KTW context I read: context/process.md e534e9f3, hub/context/keep-the-why.md, hub/context/memory.md, the PR's board.md and persistence.md entries ("memory provider replaces the KTW flag; setup one JSON column"), and the card tsk-7qdmveb7fzmf.Before merge:
- Duplicate scope. agent-b's open stack #476 (memory.provider and policy.keep_the_why) and #547 (setup options and setup cards §6.21, stacked on #476), tracked on tsk-7qdmveb7fzmf, implement the same contract on a fresh base. The lead needs to decide which line continues. Two implementations of memory_provider/setup would fork the schema and the context. If #476/#547 continue, close #342 and either move this card or set it to done-by-superseded. If #342 continues, the points below apply.
- Base: c3832a07 (2026-10-25). The branch still carries #267's pre-squash commits (card links, history and notes), which are on main through #322. A test merge with main gives 21 conflicts (hub/context/board.md, index.md, persistence.md, tables.py, routes/*, and an add/add of migration 0025). Rebase onto main with only the PR's own commits, and renumber the migration after main's head (0076).
- CI is red: ci-ok, hub-sqlite, hub-postgresql, hub-mariadb and hub-wheel fail.
- KTW after the rebase: the persistence.md entry (memory provider replaces the flag; its rejected alternatives are recorded) and the board.md setup entry must not duplicate what #476/#547 record. If both lines survive, link them with
**See:**and record which one replaced the other.