CLUE-550 Stage 0: Document-axes roadmap, concepts, and decision record - #2922
CLUE-550 Stage 0: Document-axes roadmap, concepts, and decision record#2922scytacki wants to merge 1 commit into
Conversation
804b3c2 to
6648210
Compare
collaborative-learning
|
||||||||||||||||||||||||||||
| Project |
collaborative-learning
|
| Branch Review |
CLUE-550-document-axes-roadmap
|
| Run status |
|
| Run duration | 03m 30s |
| Commit |
|
| Committer | Scott Cytacki |
| View all properties for this run ↗︎ | |
| Test results | |
|---|---|
|
|
0
|
|
|
0
|
|
|
0
|
|
|
0
|
|
|
4
|
| View all changes introduced in this branch ↗︎ | |
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## CLUE-576-opendocument-firestore-source #2922 +/- ##
===========================================================================
- Coverage 86.15% 69.18% -16.97%
===========================================================================
Files 935 930 -5
Lines 53320 53296 -24
Branches 14090 14088 -2
===========================================================================
- Hits 45936 36874 -9062
- Misses 7368 16390 +9022
- Partials 16 32 +16
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Adds a new documentation set under docs/document-axes/ describing a staged roadmap and target architecture for decomposing CLUE’s document type branching into explicit “document axes” (e.g., owner, scope, canonical, concurrent, kind, permissions), plus a decision record capturing the overlap/derivability analysis that motivated the chosen axes.
Changes:
- Introduces
docs/document-axes/as the living roadmap and reference docs for the document-axes refactor. - Defines the axes and their relationship to current behavior, including the “permission policy + per-doc grants” composition concept.
- Adds a specs/decision-record document capturing the axis-register analysis and rationale.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| docs/document-axes/README.md | Roadmap entrypoint with status table and links to related docs. |
| docs/document-axes/axes.md | Defines the axes in terms of current behavior; includes a “where today’s types land” summary table. |
| docs/document-axes/target-architecture.md | Describes intended layering (axis getters, kind registry, behavior modules, creation factory) and enforcement rules. |
| docs/superpowers/specs/2026-07-21-document-axes-register.md | Decision record / register analyzing candidate axes, overlaps, and storage vs lookup vs derivation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
… [Stage 0] Establish docs/document-axes/ as a living roadmap for decomposing document `type` into explicit axes (owner, scope, canonical, concurrent, kind, permissions): - README.md: the roadmap and a per-axis status table that later stages flip as each piece lands. - axes.md: each axis defined and read out of current CLUE behavior; introduces permission policies (named, code-defined rule groups a document references, read by both the runtime and the Firestore security rules). - target-architecture.md: how the axes live in code (axis getters, kind registry, behavior modules, the one creation factory, permissions composition). Add the decision record behind the axis set as a spec at docs/superpowers/specs/2026-07-21-document-axes-register.md: the overlap analysis of why these axes and what is deliberately not an axis. Docs only; no code change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6648210 to
55742f7
Compare
Stage 0 — Document-Axes Roadmap (docs only)
Establishes
docs/document-axes/as a living roadmap for refactoring CLUE's document-typesystem into explicit axes. Documentation only — no code change.Today a single
typefield is switched on in ~90 places across client, rules, and functions. The goal is to decompose it into orthogonal, mostly-stored axes (owner,scope,canonical,concurrent,kind,permissions) so a document's meaning is read in one place, withtype/kinddereferenced only in a kind registry and a creation factory. This PR lands the reference docs and the decision record describing that target; the code lands in later stages.Added
docs/document-axes/README.md— the living roadmap: a per-axis status table (axes + kind registry, behavior modules, creation factory, each with a migration status and delivering stage/ticket) that later stages flip as they land.docs/document-axes/axes.md— from types to behavior: defines each axis and shows how today's CLUE behavior already encodes it. Introduces permission policies — named, code-defined groups of permission rules a document references, read by both the runtime and the Firestore security rules.docs/document-axes/target-architecture.md— how the axes live in code:DocumentModelaxis getters, the kind registry, behavior modules, the single creation factory, and the permissions-composition model (policy grants + stored per-doc grants).docs/superpowers/specs/2026-07-21-document-axes-register.md— the decision record behind the axis set: the overlap/derivability analysis (why these axes, what is deliberately not an axis, the punted issues). It lives inspecs/rather than the reference folder because it documents the reasoning that produced the docs above, not something needed to implement a feature. It is intentionally not linked from the reference docs (discoverable via the specs folder) and links forward-only to them.Notes for reviewers
CLUE-576-opendocument-firestore-source(stacked PR). Retarget tomasteronce CLUE-576 merges. Stage 0 is docs-only and does not depend on the prerequisite.canonicalis marked done (CLUE-524's scoped pointer slots); the other axes are "not started".🤖 Generated with Claude Code