@lifeaitools/rdc-skills 0.21.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rdc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.0",
|
|
4
4
|
"description": "RDC typed-agent dispatch skill suite for Claude Code — plan, build, review, overnight unattended builds with work-item tracking and TDD enforcement.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "LIFEAI",
|
|
@@ -53,7 +53,23 @@
|
|
|
53
53
|
"flags": []
|
|
54
54
|
},
|
|
55
55
|
"requires": [],
|
|
56
|
-
"produces": []
|
|
56
|
+
"produces": [],
|
|
57
|
+
"default_model": "inherit",
|
|
58
|
+
"triggers": [
|
|
59
|
+
"format this for linkedin",
|
|
60
|
+
"write a tweet",
|
|
61
|
+
"social media post",
|
|
62
|
+
"draft an email",
|
|
63
|
+
"make this a slide",
|
|
64
|
+
"format for slack",
|
|
65
|
+
"reformat this for"
|
|
66
|
+
],
|
|
67
|
+
"follows": [],
|
|
68
|
+
"leads_to": [],
|
|
69
|
+
"sandbox_aware": true,
|
|
70
|
+
"output_contract": "guides/output-contract.md",
|
|
71
|
+
"enabled_default": true,
|
|
72
|
+
"codeflow_required": false
|
|
57
73
|
},
|
|
58
74
|
"brochure": {
|
|
59
75
|
"name": "brochure",
|
package/git-sha.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rdc:channel-formatter
|
|
3
|
-
description: "Usage `rdc:channel-formatter <channel> [content]` — Apply precise, channel-native formatting to any output: LinkedIn, Twitter/X, Slack/Teams, Email (external/internal), Pitch Deck slides, Word/DOCX, PDF Report, and Web/Landing Page. Use EVERY TIME the user names an output channel/platform/document type, or asks to 'write a post', 'draft an email', 'format this for', 'make this a slide', 'send to LinkedIn', 'write a tweet', 'social media post', or 'reformat this for [channel]'. Each channel has its own Unicode strategy, emphasis system, length limits, and structure — never apply generic markdown to channel-specific output. Self-contained: all channel rules are inlined below (no external reference files)."
|
|
3
|
+
description: "Usage `rdc:channel-formatter <channel> [content]` — Apply precise, channel-native formatting to any output: LinkedIn, Twitter/X, Slack/Teams, Email (external/internal), Pitch Deck slides, Word/DOCX, PDF Report, and Web/Landing Page. Use EVERY TIME the user names an output channel/platform/document type, or asks to 'write a post', 'draft an email', 'format this for', 'make this a slide', 'send to LinkedIn', 'write a tweet', 'social media post', or 'reformat this for [channel]'. Each channel has its own Unicode strategy, emphasis system, length limits, and structure — never apply generic markdown to channel-specific output. This skill FORMATS/STRUCTURES text only — for actual .docx/.pptx ↔ Markdown FILE conversion (either direction) use `rdc:convert` (build-corpus), not this skill. Self-contained: all channel rules are inlined below (no external reference files)."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
> **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
|
|
@@ -52,6 +52,15 @@ apply its rules exactly. Never apply generic markdown to a channel that doesn't
|
|
|
52
52
|
- Always match the tone register of the channel (formal ≠ casual ≠ punchy).
|
|
53
53
|
- For LIFEAI/PRT/RDC content, maintain REGEN-MODE voice unless Author-Mode is active.
|
|
54
54
|
|
|
55
|
+
> ## ⛔ Scope boundary — this skill FORMATS text; it does NOT convert files
|
|
56
|
+
> This skill governs **how to structure and format content** for a channel. It never
|
|
57
|
+
> reads or writes binary office files. For the actual **Word ↔ Markdown (and .pptx/.ppt)
|
|
58
|
+
> file conversion — in either direction — use `build-corpus` / the `rdc:convert` skill**,
|
|
59
|
+
> never this one. So: "convert this .docx to markdown" / "turn this markdown into a Word
|
|
60
|
+
> doc" → **`rdc:convert`**. "format this content the Word way / write it for LinkedIn" →
|
|
61
|
+
> this skill. The Word/DOCX and PDF sections below describe target structure only; producing
|
|
62
|
+
> the actual `.docx`/`.pdf` artifact is `rdc:convert` / `rdc:brochure`, not channel-formatter.
|
|
63
|
+
|
|
55
64
|
---
|
|
56
65
|
|
|
57
66
|
## § LinkedIn
|
|
@@ -232,6 +241,10 @@ Typography (for JSX/design): Headline 28-36pt bold · Bullets 18-22pt · Data la
|
|
|
232
241
|
|
|
233
242
|
## § Word / DOCX
|
|
234
243
|
|
|
244
|
+
> **This section = how to STRUCTURE Word content (Styles, hierarchy, tables).** To
|
|
245
|
+
> generate an actual `.docx` file, or convert `.docx ↔ .md`, hand off to **`rdc:convert`
|
|
246
|
+
> (build-corpus)** — channel-formatter does not produce or parse binary files.
|
|
247
|
+
|
|
235
248
|
### Core Principles
|
|
236
249
|
- All formatting via **Word Styles** (never raw bold alone). Heading hierarchy is semantic (Heading 1/2/3, not font size). Tables use Word Table Styles, not markdown. Equations via Equation Editor (OMML). Explicit page structure (section breaks, headers/footers, page numbers).
|
|
237
250
|
|
|
@@ -160,12 +160,25 @@ Write to `.rdc/reports/YYYY-MM-DD-housekeeping.md`:
|
|
|
160
160
|
|
|
161
161
|
## Lessons triage (weekly)
|
|
162
162
|
|
|
163
|
-
Read all `.rdc/lessons/*.md` with `status: open` (schema + procedure: `.rdc/guides/lessons-learned-spec.md` § Triage procedure). Cluster by `area` + root-cause similarity (dedupe repeats into one fix).
|
|
163
|
+
Read all `.rdc/lessons/*.md` with `status: open` (schema + procedure: `.rdc/guides/lessons-learned-spec.md` § Triage procedure). Cluster by `area` + root-cause similarity (dedupe repeats into one fix).
|
|
164
|
+
|
|
165
|
+
### Attended mode (default — a human is present)
|
|
166
|
+
|
|
167
|
+
For each cluster:
|
|
164
168
|
|
|
165
169
|
- `scope: simple` → apply the fix directly (rule line, skill-doc edit, config, guard), commit it, set the lesson(s) `status: applied` with the commit linked.
|
|
166
170
|
- `scope: architectural` → do NOT edit. Present the issue + options via `AskUserQuestion` (per `.claude/rules/architectural-change-approval.md`). On approval, apply via the correct lifecycle (rdc-skills tag/push for skills; cited commit for rules) and set `status: applied`. If deferred, set `status: triaged` and spawn a `work_item`.
|
|
167
171
|
- Not worth fixing → `status: wont-fix` with a one-line reason.
|
|
168
172
|
|
|
173
|
+
### Unattended mode (no human — overnight / cron / `rdc:overnight`)
|
|
174
|
+
|
|
175
|
+
When the weekly triage runs unattended, follow `.rdc/guides/lessons-learned-spec.md` § **Triage procedure — UNATTENDED weekly mode** — do not run `AskUserQuestion`. In brief (the spec is authoritative):
|
|
176
|
+
|
|
177
|
+
- **Per-difficulty model routing** (reuses the `rdc:build` table): the run is led by `claude-opus-4-8` for clustering + scope/difficulty triage; mechanical apply → `claude-sonnet-4-6`; harder multi-file/migration fix → `claude-opus-4-6`; design/architectural fix → `claude-opus-4-8`.
|
|
178
|
+
- `scope: simple` → apply directly or via `rdc:fixit`, commit, `status: applied`.
|
|
179
|
+
- `scope: architectural` with a single clear correct fix (records an already-learned lesson — e.g. "document X", "add a gate", update a guide) → route through `rdc:plan` → `rdc:build` (or `rdc:fixit` if genuinely <5 files), update the documentation, set `status: applied`/`triaged`.
|
|
180
|
+
- `scope: architectural` **and genuinely ambiguous** (multiple valid approaches, real tradeoffs) → write a `human_items` row (`item_type='decision'`, with options in `suggested_agent_prompt`, `source_type='lesson'`, `source_fingerprint` for dedupe), set `status: triaged`, spawn + link a `work_item`. Decided in the morning. This is the asynchronous equivalent of the attended interview and honors `.claude/rules/architectural-change-approval.md`.
|
|
181
|
+
|
|
169
182
|
Never delete lesson files — `applied` and `wont-fix` stay as the audit trail. Report captured / applied / escalated / deferred counts in the housekeeping report.
|
|
170
183
|
|
|
171
184
|
## Rules
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Generated RPMS file map — RULE #1, canonical homes, and Context Export pointers served from regen-root manifest."
|
|
3
|
+
slash: "rdc:rpms-filemap"
|
|
4
|
+
category: "tooling"
|
|
5
|
+
usage: "rdc:rpms-filemap"
|
|
6
|
+
requires: []
|
|
7
|
+
triggers:
|
|
8
|
+
- "rpms file map"
|
|
9
|
+
- "rule #1"
|
|
10
|
+
- "context export"
|
|
11
|
+
- "where does this file belong"
|
|
12
|
+
- "where should pm artifacts go"
|
|
13
|
+
---
|
|
14
|
+
# RPMS File Map
|
|
15
|
+
> GENERATED FILE - DO NOT HAND-EDIT.
|
|
16
|
+
> Source of truth: `docs/architecture/rpms.locations.json`
|
|
17
|
+
> Regenerate: `pnpm rpms:gen-filemap`
|
|
18
|
+
|
|
19
|
+
## RULE #1
|
|
20
|
+
|
|
21
|
+
**Name the entity -> read its `_context.md` -> you are oriented.**
|
|
22
|
+
|
|
23
|
+
The operational door is pinned in `docs/architecture/CONTEXT-EXPORT.md` and in RPMS section 8.1.
|
|
24
|
+
If you are touching an entity, read its generated `_context.md` before any local reasoning, and never hand-edit that projection.
|
|
25
|
+
|
|
26
|
+
## Pointers
|
|
27
|
+
|
|
28
|
+
- RPMS section 6a: Asset lens and branch-store split
|
|
29
|
+
- RPMS section 6b: Corpus disk layout
|
|
30
|
+
- RPMS section 8.1: Session-start ritual and locked-decision read order
|
|
31
|
+
|
|
32
|
+
## Canonical Map
|
|
33
|
+
|
|
34
|
+
### Canonical Sources
|
|
35
|
+
|
|
36
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
37
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
38
|
+
| `canon.rpms.architecture` | `docs/architecture/regenerative-project-management-system.md` | `read_only` | One Home Per Fact, One Door | `block_wrong_home`<br />`path_conformance` | docs/architecture/regenerative-project-management-system.md | `active` |
|
|
39
|
+
| `canon.context-export.single-door` | `docs/architecture/CONTEXT-EXPORT.md` | `read_only` | One Direction, One Door | `block_wrong_home`<br />`path_conformance` | docs/architecture/CONTEXT-EXPORT.md | `active` |
|
|
40
|
+
|
|
41
|
+
### Session Start
|
|
42
|
+
|
|
43
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
44
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
45
|
+
| `session-start.claude-ai.root` | `CLAUDE.ai.md` | `read_only` | One Door | `block_wrong_home`<br />`path_conformance` | repo-root | `active` |
|
|
46
|
+
| `session-start.claude.root` | `CLAUDE.md` | `read_only` | One Door | `block_wrong_home`<br />`path_conformance` | repo-root | `active` |
|
|
47
|
+
| `session-start.decision.spine-lock` | `.rdc/plans/project-relationship-graph-approval.md` | `read_only` | One Spine, One Door | `block_wrong_home`<br />`path_conformance` | .rdc/plans/project-relationship-graph-approval.md | `active` |
|
|
48
|
+
| `session-start.decision.cs2-lock` | `.rdc/plans/mdk-knowledge-decisions-and-workitems-2026-06-02.md` | `read_only` | One Direction, One Door | `block_wrong_home`<br />`path_conformance` | .rdc/plans/mdk-knowledge-decisions-and-workitems-2026-06-02.md | `active` |
|
|
49
|
+
| `session-start.glossary.layer-model` | `docs/systems/cs2/LAYER-MODEL-AND-VOCABULARY.md` | `read_only` | One Door | `block_wrong_home`<br />`path_conformance` | docs/systems/cs2/LAYER-MODEL-AND-VOCABULARY.md | `active` |
|
|
50
|
+
|
|
51
|
+
### Database Gates
|
|
52
|
+
|
|
53
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
54
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
55
|
+
| `session-start.work-items.queue` | `table:work_items via rpc:get_open_epics` | `rpc_only` | One Home Per Fact, One Door | `rpc_only`<br />`rpc_contract`<br />CRUD stays behind insert_work_item/update_work_item_status/update_checklist_item/submit_implementation_report. | public.work_items + RPC gate | `active` |
|
|
56
|
+
|
|
57
|
+
### Place Corpus
|
|
58
|
+
|
|
59
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
60
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
61
|
+
| `session-start.entity-context.place` | `places/*/_context.md`<br />created_by: `apps/studio/src/lib/context-export-writer.ts` | `generated` | One Direction, One Door | `block_manual_edit`<br />`projection_drift` | context-export writer | `active` |
|
|
62
|
+
| `place.identity.place-md` | `places/*/PLACE.md` | `authored` | One Home Per Fact, One Door | `allow_declared_home`<br />`path_conformance` | place stewards | `active` |
|
|
63
|
+
| `place.history.history-md` | `places/*/HISTORY.md` | `append_only` | One Direction, One Home Per Fact | `allow_declared_home`<br />`path_conformance` | place stewards | `active` |
|
|
64
|
+
| `place.corpus.index` | `places/*/corpus/INDEX.md` | `authored` | One Home Per Fact, One Door | `allow_declared_home`<br />`path_conformance` | place corpus | `active` |
|
|
65
|
+
| `place.corpus.documents` | `places/*/corpus/**` | `authored` | One Home Per Fact | `block_binary_commit`<br />`binary_ban`<br />Text and markdown live here; binaries route to branch stores. | place corpus | `active` |
|
|
66
|
+
| `place.artifacts.outputs` | `places/*/artifacts/**` | `generated` | One Direction | `allow_declared_home`<br />`path_conformance` | render pipelines | `active` |
|
|
67
|
+
| `place.legacy.asset-bundles` | `places/*/*.assets/**` | `legacy_frozen` | One Direction, One Home Per Fact | `block_manual_edit`<br />`path_conformance`<br />Bridge-state allowlist for current repo reality; no new writes here. | legacy bridge until asset-lens migration | `active` |
|
|
68
|
+
| `place.tracker.pm-docs` | `places/*/tracker/**` | `authored` | One Home Per Fact | `block_binary_commit`<br />`binary_ban` | place operators | `active` |
|
|
69
|
+
|
|
70
|
+
### Shared Corpus
|
|
71
|
+
|
|
72
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
73
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
74
|
+
| `session-start.entity-context.project-node` | `corpus/_shared/*/_context.md`<br />created_by: `apps/studio/src/lib/context-export-writer.ts` | `generated` | One Direction, One Door | `block_manual_edit`<br />`projection_drift` | context-export writer | `active` |
|
|
75
|
+
| `shared.index` | `corpus/_shared/*/INDEX.md` | `authored` | One Home Per Fact, One Door | `allow_declared_home`<br />`path_conformance` | shared corpus | `active` |
|
|
76
|
+
| `shared.framework.documents` | `corpus/_shared/*/framework/**` | `authored` | One Home Per Fact | `block_binary_commit`<br />`binary_ban` | shared corpus | `active` |
|
|
77
|
+
| `shared.research.documents` | `corpus/_shared/*/research/**` | `authored` | One Home Per Fact | `block_binary_commit`<br />`binary_ban` | shared corpus | `active` |
|
|
78
|
+
| `shared.legacy.design-assets` | `corpus/_shared/*/design/**/assets/**` | `legacy_frozen` | One Direction, One Home Per Fact | `block_manual_edit`<br />`path_conformance`<br />Bridge-state allowlist for current repo reality; no new writes here. | legacy bridge until asset-lens migration | `active` |
|
|
79
|
+
| `shared.corpus.documents` | `corpus/_shared/` | `authored` | One Home Per Fact | `block_binary_commit`<br />`binary_ban`<br />Generated _context.md remains separately governed by projection drift. | shared corpus | `active` |
|
|
80
|
+
|
|
81
|
+
### Asset Lens
|
|
82
|
+
|
|
83
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
84
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
85
|
+
| `asset-lens.entity-assets.registry` | `table:entity_assets` | `deferred` | One Spine, One Home Per Fact | `deferred`<br />`deferred`<br />Manifest records the canonical home now; implementation remains deferred per plan section 6a E7. | RPMS E7 | `deferred` |
|
|
86
|
+
|
|
87
|
+
### Operational Door
|
|
88
|
+
|
|
89
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
90
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
91
|
+
| `operational-door.rdc.plans` | `.rdc/plans/**` | `authored` | One Home Per Fact, One Direction | `allow_declared_home`<br />`path_conformance` | RDC planning workflow | `active` |
|
|
92
|
+
| `operational-door.rdc.reports` | `.rdc/reports/**` | `generated` | One Direction | `allow_declared_home`<br />`path_conformance` | rdc:report | `active` |
|
|
93
|
+
| `operational-door.rdc.lessons` | `.rdc/lessons/**` | `append_only` | One Direction, One Home Per Fact | `allow_declared_home`<br />`path_conformance` | RDC lesson capture workflow | `active` |
|
|
94
|
+
| `operational-door.rpms-filemap.rule` | `.claude/rules/rpms-filemap.md`<br />created_by: `scripts/rpms/gen-filemap.ts` | `generated` | One Home Per Fact, One Direction, One Door | `block_manual_edit`<br />`projection_drift` | scripts/rpms/gen-filemap.ts | `active` |
|
|
95
|
+
|
|
96
|
+
### App Guides
|
|
97
|
+
|
|
98
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
99
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
100
|
+
| `session-start.app-guide` | `apps/*/CLAUDE.md` | `read_only` | One Door | `block_wrong_home`<br />`path_conformance` | app-local architecture guides | `active` |
|
|
101
|
+
|
|
102
|
+
## Projection Contract
|
|
103
|
+
|
|
104
|
+
- Generated projections (`_context.md`, this rule) are never hand-edited.
|
|
105
|
+
- Authored markdown stays in its declared home; do not create second homes elsewhere.
|
|
106
|
+
- `work_items` stays RPC-only even when the location is documented here.
|
|
107
|
+
- Corpus homes are text-first; binaries route to branch stores, not git under `places/` or `corpus/`.
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Generated RPMS file map — RULE #1, canonical homes, and Context Export pointers served from regen-root manifest."
|
|
3
|
+
slash: "rdc:rpms-filemap"
|
|
4
|
+
category: "tooling"
|
|
5
|
+
usage: "rdc:rpms-filemap"
|
|
6
|
+
requires: []
|
|
7
|
+
triggers:
|
|
8
|
+
- "rpms file map"
|
|
9
|
+
- "rule #1"
|
|
10
|
+
- "context export"
|
|
11
|
+
- "where does this file belong"
|
|
12
|
+
- "where should pm artifacts go"
|
|
13
|
+
---
|
|
14
|
+
# RPMS File Map
|
|
15
|
+
> GENERATED FILE - DO NOT HAND-EDIT.
|
|
16
|
+
> Source of truth: `docs/architecture/rpms.locations.json`
|
|
17
|
+
> Regenerate: `pnpm rpms:gen-filemap`
|
|
18
|
+
|
|
19
|
+
## RULE #1
|
|
20
|
+
|
|
21
|
+
**Name the entity -> read its `_context.md` -> you are oriented.**
|
|
22
|
+
|
|
23
|
+
The operational door is pinned in `docs/architecture/CONTEXT-EXPORT.md` and in RPMS section 8.1.
|
|
24
|
+
If you are touching an entity, read its generated `_context.md` before any local reasoning, and never hand-edit that projection.
|
|
25
|
+
|
|
26
|
+
## Pointers
|
|
27
|
+
|
|
28
|
+
- RPMS section 6a: Asset lens and branch-store split
|
|
29
|
+
- RPMS section 6b: Corpus disk layout
|
|
30
|
+
- RPMS section 8.1: Session-start ritual and locked-decision read order
|
|
31
|
+
|
|
32
|
+
## Canonical Map
|
|
33
|
+
|
|
34
|
+
### Canonical Sources
|
|
35
|
+
|
|
36
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
37
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
38
|
+
| `canon.rpms.architecture` | `docs/architecture/regenerative-project-management-system.md` | `read_only` | One Home Per Fact, One Door | `block_wrong_home`<br />`path_conformance` | docs/architecture/regenerative-project-management-system.md | `active` |
|
|
39
|
+
| `canon.context-export.single-door` | `docs/architecture/CONTEXT-EXPORT.md` | `read_only` | One Direction, One Door | `block_wrong_home`<br />`path_conformance` | docs/architecture/CONTEXT-EXPORT.md | `active` |
|
|
40
|
+
|
|
41
|
+
### Session Start
|
|
42
|
+
|
|
43
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
44
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
45
|
+
| `session-start.claude-ai.root` | `CLAUDE.ai.md` | `read_only` | One Door | `block_wrong_home`<br />`path_conformance` | repo-root | `active` |
|
|
46
|
+
| `session-start.claude.root` | `CLAUDE.md` | `read_only` | One Door | `block_wrong_home`<br />`path_conformance` | repo-root | `active` |
|
|
47
|
+
| `session-start.decision.spine-lock` | `.rdc/plans/project-relationship-graph-approval.md` | `read_only` | One Spine, One Door | `block_wrong_home`<br />`path_conformance` | .rdc/plans/project-relationship-graph-approval.md | `active` |
|
|
48
|
+
| `session-start.decision.cs2-lock` | `.rdc/plans/mdk-knowledge-decisions-and-workitems-2026-06-02.md` | `read_only` | One Direction, One Door | `block_wrong_home`<br />`path_conformance` | .rdc/plans/mdk-knowledge-decisions-and-workitems-2026-06-02.md | `active` |
|
|
49
|
+
| `session-start.glossary.layer-model` | `docs/systems/cs2/LAYER-MODEL-AND-VOCABULARY.md` | `read_only` | One Door | `block_wrong_home`<br />`path_conformance` | docs/systems/cs2/LAYER-MODEL-AND-VOCABULARY.md | `active` |
|
|
50
|
+
|
|
51
|
+
### Database Gates
|
|
52
|
+
|
|
53
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
54
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
55
|
+
| `session-start.work-items.queue` | `table:work_items via rpc:get_open_epics` | `rpc_only` | One Home Per Fact, One Door | `rpc_only`<br />`rpc_contract`<br />CRUD stays behind insert_work_item/update_work_item_status/update_checklist_item/submit_implementation_report. | public.work_items + RPC gate | `active` |
|
|
56
|
+
|
|
57
|
+
### Place Corpus
|
|
58
|
+
|
|
59
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
60
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
61
|
+
| `session-start.entity-context.place` | `places/*/_context.md`<br />created_by: `apps/studio/src/lib/context-export-writer.ts` | `generated` | One Direction, One Door | `block_manual_edit`<br />`projection_drift` | context-export writer | `active` |
|
|
62
|
+
| `place.identity.place-md` | `places/*/PLACE.md` | `authored` | One Home Per Fact, One Door | `allow_declared_home`<br />`path_conformance` | place stewards | `active` |
|
|
63
|
+
| `place.history.history-md` | `places/*/HISTORY.md` | `append_only` | One Direction, One Home Per Fact | `allow_declared_home`<br />`path_conformance` | place stewards | `active` |
|
|
64
|
+
| `place.corpus.index` | `places/*/corpus/INDEX.md` | `authored` | One Home Per Fact, One Door | `allow_declared_home`<br />`path_conformance` | place corpus | `active` |
|
|
65
|
+
| `place.corpus.documents` | `places/*/corpus/**` | `authored` | One Home Per Fact | `block_binary_commit`<br />`binary_ban`<br />Text and markdown live here; binaries route to branch stores. | place corpus | `active` |
|
|
66
|
+
| `place.artifacts.outputs` | `places/*/artifacts/**` | `generated` | One Direction | `allow_declared_home`<br />`path_conformance` | render pipelines | `active` |
|
|
67
|
+
| `place.legacy.asset-bundles` | `places/*/*.assets/**` | `legacy_frozen` | One Direction, One Home Per Fact | `block_manual_edit`<br />`path_conformance`<br />Bridge-state allowlist for current repo reality; no new writes here. | legacy bridge until asset-lens migration | `active` |
|
|
68
|
+
| `place.tracker.pm-docs` | `places/*/tracker/**` | `authored` | One Home Per Fact | `block_binary_commit`<br />`binary_ban` | place operators | `active` |
|
|
69
|
+
|
|
70
|
+
### Shared Corpus
|
|
71
|
+
|
|
72
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
73
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
74
|
+
| `session-start.entity-context.project-node` | `corpus/_shared/*/_context.md`<br />created_by: `apps/studio/src/lib/context-export-writer.ts` | `generated` | One Direction, One Door | `block_manual_edit`<br />`projection_drift` | context-export writer | `active` |
|
|
75
|
+
| `shared.index` | `corpus/_shared/*/INDEX.md` | `authored` | One Home Per Fact, One Door | `allow_declared_home`<br />`path_conformance` | shared corpus | `active` |
|
|
76
|
+
| `shared.framework.documents` | `corpus/_shared/*/framework/**` | `authored` | One Home Per Fact | `block_binary_commit`<br />`binary_ban` | shared corpus | `active` |
|
|
77
|
+
| `shared.research.documents` | `corpus/_shared/*/research/**` | `authored` | One Home Per Fact | `block_binary_commit`<br />`binary_ban` | shared corpus | `active` |
|
|
78
|
+
| `shared.legacy.design-assets` | `corpus/_shared/*/design/**/assets/**` | `legacy_frozen` | One Direction, One Home Per Fact | `block_manual_edit`<br />`path_conformance`<br />Bridge-state allowlist for current repo reality; no new writes here. | legacy bridge until asset-lens migration | `active` |
|
|
79
|
+
| `shared.corpus.documents` | `corpus/_shared/` | `authored` | One Home Per Fact | `block_binary_commit`<br />`binary_ban`<br />Generated _context.md remains separately governed by projection drift. | shared corpus | `active` |
|
|
80
|
+
|
|
81
|
+
### Asset Lens
|
|
82
|
+
|
|
83
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
84
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
85
|
+
| `asset-lens.entity-assets.registry` | `table:entity_assets` | `deferred` | One Spine, One Home Per Fact | `deferred`<br />`deferred`<br />Manifest records the canonical home now; implementation remains deferred per plan section 6a E7. | RPMS E7 | `deferred` |
|
|
86
|
+
|
|
87
|
+
### Operational Door
|
|
88
|
+
|
|
89
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
90
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
91
|
+
| `operational-door.rdc.plans` | `.rdc/plans/**` | `authored` | One Home Per Fact, One Direction | `allow_declared_home`<br />`path_conformance` | RDC planning workflow | `active` |
|
|
92
|
+
| `operational-door.rdc.reports` | `.rdc/reports/**` | `generated` | One Direction | `allow_declared_home`<br />`path_conformance` | rdc:report | `active` |
|
|
93
|
+
| `operational-door.rdc.lessons` | `.rdc/lessons/**` | `append_only` | One Direction, One Home Per Fact | `allow_declared_home`<br />`path_conformance` | RDC lesson capture workflow | `active` |
|
|
94
|
+
| `operational-door.rpms-filemap.rule` | `.claude/rules/rpms-filemap.md`<br />created_by: `scripts/rpms/gen-filemap.ts` | `generated` | One Home Per Fact, One Direction, One Door | `block_manual_edit`<br />`projection_drift` | scripts/rpms/gen-filemap.ts | `active` |
|
|
95
|
+
|
|
96
|
+
### App Guides
|
|
97
|
+
|
|
98
|
+
| Artifact | Home | RW | Law | Enforcement | Owner | Status |
|
|
99
|
+
|----------|------|----|-----|-------------|-------|--------|
|
|
100
|
+
| `session-start.app-guide` | `apps/*/CLAUDE.md` | `read_only` | One Door | `block_wrong_home`<br />`path_conformance` | app-local architecture guides | `active` |
|
|
101
|
+
|
|
102
|
+
## Projection Contract
|
|
103
|
+
|
|
104
|
+
- Generated projections (`_context.md`, this rule) are never hand-edited.
|
|
105
|
+
- Authored markdown stays in its declared home; do not create second homes elsewhere.
|
|
106
|
+
- `work_items` stays RPC-only even when the location is documented here.
|
|
107
|
+
- Corpus homes are text-first; binaries route to branch stores, not git under `places/` or `corpus/`.
|