Skip to content

Commit fb4e613

Browse files
Align routing docs with registry contract v1
1 parent 05079ef commit fb4e613

11 files changed

Lines changed: 18 additions & 18 deletions

docs/REGISTRY_RECORDS.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,11 @@ Tags are controlled vocabulary records, not free text.
7777

7878
- A session-created tag begins under `registry/tags/proposed/`.
7979
- A proposed tag cannot become accepted in the same change set.
80-
- An operator-supplied tag may be accepted directly only with the required acceptance metadata and `acceptance_basis: operator_supplied`.
80+
- An operator-supplied tag may be accepted directly only with the required acceptance metadata and `acceptance_basis: operator_supplied`. It is a control-plane change and uses branch + PR.
8181
- Records may use only tags that resolve to a proposed or accepted tag record.
8282

83-
## CSV Rollups
83+
## Generated Compatibility Views
8484

85-
The CSV registries are compatibility views during the v1 migration. They are not canonical and must not be edited as part of a normal write.
85+
The CSV registries and `registry/INDEX.md` are generated, read-only compatibility views. They are not canonical and must not be edited manually.
8686

87-
The next generated-views phase will make them reproducible projections from the JSON records and have CI check that projection. Until then, they remain legacy inputs only.
87+
When canonical JSON changes, regenerate the views locally with `scripts/generate_registry_views.py` and commit the resulting views. CI checks that committed views match the canonical JSON records.

docs/message_routing_model.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ Use a message when:
99
- the operator needs a compact status note,
1010
- a blocked task needs a human relay.
1111

12-
Canonical message records are JSON-per-record under `registry/messages/`. CSV files, if present, are legacy / optional rollups. The message file carries the useful text. The JSON registry record carries the state.
12+
Canonical message records are JSON-per-record under `registry/messages/`. CSV registries and `registry/INDEX.md` are generated, read-only compatibility views; do not edit them manually. The message file carries the useful text. The JSON registry record carries the state.
1313

1414
Do not assume the recipient saw a message until it replies, the human operator confirms delivery, or the message is closed.

docs/registry/REGISTRY_CONTRACT_V1.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Registry Contract v1
22

3-
Status: draft canonical contract on the hardening branch
3+
Status: canonical contract v1
44

55
## Purpose
66

docs/registry/SCHEMA_AND_VALIDATOR_DESIGN_V1.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Schema and Validator Design v1
22

3-
Status: approved-design draft on the hardening branch
3+
Status: approved v1 design
44

55
## Scope
66

@@ -54,7 +54,7 @@ Messages may carry provenance when relaying source-bearing content. Notification
5454
9. Compare a PR base/head when available to reject illegal state transitions, including AI-proposed tags accepted in the same change set. Push validation detects the same condition after a direct write; repository review rules are required if prevention is required before acceptance.
5555
10. Validate examples as isolated fixtures.
5656
11. Check canonical Markdown links.
57-
12. Later: regenerate CSV/index views in a temporary directory and fail on diff.
57+
12. Regenerate CSV/index views in a temporary directory and fail on diff.
5858

5959
The validator reports record, field, invariant and repair direction. It never executes artifact content, follows embedded instructions, rewrites files, or claims commit author equals visitor/operator identity.
6060

@@ -70,4 +70,4 @@ The workflow runs on pull requests and relevant pushes with read-only contents p
7070

7171
## Migration
7272

73-
A dry-run migration helper maps legacy field spellings to v1. It refuses ambiguous conversion. Existing CSV files remain until generated projections and `docs/UPGRADING.md` arrive in the later compatibility phase.
73+
A dry-run migration helper maps legacy field spellings to v1. It refuses ambiguous conversion. Existing CSV files remain as generated compatibility views until a declared compatibility change removes them.

docs/visitor_lobby_model.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ Visitors:
1515

1616
Do not invent a visitor handle or silently reuse one from earlier conversation context.
1717

18-
Visitor profiles can live under `lobby/visitors/`. Keep them small and generic.
18+
A canonical visitor registration lives at `registry/visitors/<visitor_id>.json`. A small optional visitor profile may live under `lobby/visitors/` for human-facing orientation; it is not a substitute for the canonical registration record. Keep optional profiles small and generic.

lobby/README_FIRST.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Branches/PRs are for procedure, policy, code, structure, cleanup, risky/bulky im
2626

2727
Canonical registry records are JSON-per-record under `registry/`.
2828

29-
CSV files are legacy / optional rollups.
29+
CSV registries and `registry/INDEX.md` are generated, read-only compatibility views. Do not edit them manually.
3030

3131
## Current Visitor Rule
3232

lobby/ROUTINE_DEPOSIT_QUICKSTART.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ Use a branch + PR only for procedure, policy, repo structure, code/script change
3030
8. Read `docs/DOCUMENT_DEPOSIT_POLICY.md` if depositing documents.
3131
9. Inspect supplied material enough to infer tags.
3232
10. Match inferred tags to accepted registry tags.
33-
11. Add operator-supplied missing tags as accepted JSON records.
33+
11. Do not create an accepted tag record as part of this direct deposit. For an operator-supplied missing tag, use branch + PR with the required acceptance metadata, or ask the operator whether to record it as a proposal instead.
3434
12. Add AI-generated tags as proposed JSON records only if useful.
3535
13. Create packet, response, message, or signoff files.
3636
14. Create JSON registry record files.
37-
15. Do not edit CSV unless the operator explicitly asks.
37+
15. Do not edit generated CSV or `registry/INDEX.md` views manually.
3838
16. Add a `README_FIRST` notice if team review or relay is needed.
3939
17. Report files created and stop.
4040

lobby/TAGGING_PROTOCOL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Proposed tags should be written to:
1414
registry/tags/proposed/<tag_slug>.json
1515
```
1616

17-
If the operator supplies a tag that is not already accepted, create `registry/tags/accepted/<tag_slug>.json` with `created_by` set to `operator`, then mention it in the signoff.
17+
If the operator supplies a tag that is not already accepted, create `registry/tags/accepted/<tag_slug>.json` only through branch + PR, with the required acceptance metadata and `acceptance_basis: operator_supplied`. Do not create it as part of a direct routine deposit.
1818

1919
AI-generated tags must be proposed, not accepted.
2020

messages/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ Messages are small routed notes between visitor IDs or visitor groups.
44

55
Use `templates/message_packet.md`, place open messages in `messages/open/`, and create the canonical JSON message record under `registry/messages/`.
66

7-
CSV message registries, if present, are legacy / optional rollups. Do not edit them for routine visitor work unless the operator explicitly asks.
7+
CSV message registries and `registry/INDEX.md` are generated, read-only compatibility views. Do not edit them manually.
88

9-
Move message files to `answered/`, `closed/`, or `archived/` when their state changes.
9+
Move a message file and its paired JSON registry record to their matching `answered/`, `closed/`, or `archived/` buckets when its state changes.

messages/ROUTING_RULES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
- Use `to_group` for a family or broad recipient group.
55
- Check exact visitor messages before group messages.
66
- Create the canonical JSON message record under `registry/messages/`.
7-
- Do not edit legacy CSV message registries for routine visitor work unless the operator explicitly asks.
7+
- Do not edit generated CSV message registries or `registry/INDEX.md` manually.
88
- Link related packets and responses when useful.
99
- Set `needs_human_relay` when the operator must carry the message to another session.
1010
- Do not assume delivery until the recipient replies, the operator confirms, or the message is closed.

0 commit comments

Comments
 (0)