Skip to content

Commit bbe783a

Browse files
V48 (specification-only): Require FAMILIARIZATION.md stay current with changes
Add BITCODE_SPECIFYING.md §16.3.1 law that the repository familiarization map must update with structural changes (package families, hierarchy, experience paths, routes). Mirror the duty in AGENTS.md, FAMILIARIZATION maintenance, and V48 notes; tie it to Complete Implementation Derivability commit discipline.
1 parent 9714aa8 commit bbe783a

4 files changed

Lines changed: 61 additions & 4 deletions

File tree

AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
- Never explicitly version source code without direct instruction. Source code is always implicitly versioned to the active Bitcode canon and current gate; routes, file names, CSS files, constants, classes, API paths, tests, and implementation identifiers must be written in-place as the single current Bitcode system. Do not introduce names such as `api/v1`, `v27-*`, `first-gate-*`, `wip-*`, or similar version/gate/work-in-progress source constructs unless explicitly directed for a bounded compatibility artifact.
55
- Do not consider any legacy code. All legacy code is located under `_legacy/`.
66
- **Source layout and modularity (required):** follow `internal-docs/BITCODE_SOURCE_LAYOUT.md` and `uapi/components/README.md`. Dependency direction is `packages` → Bitcode/Shadcn adapters → experience components → thin `uapi/app` page shells. Seven experiences (Marketing, Packs, Reads, Deposits, Docs, Conversations, Auxillaries) plus `Shadcn*` / `Bitcode*` bases. New components live in **named directories** (`ComponentName/ComponentName.tsx` — not `index.tsx`) with co-located `hooks/`, `styles/`, `__tests__/`. Prefer packages for pure domain logic. Product run language is **Pipeline**; BTD ledger language is **journal**. **Do not reintroduce Terminal** (`app/terminal` is deleted; no `/terminal` product route).
7-
- **Codebase familiarization:** read `FAMILIARIZATION.md` for the package catalog, uapi request path, and the inheritance pattern `*-generics` primitives → `generic-*` base implementations → product specializations (agents, tools, pipelines, prompts, LLMs).
7+
- **Codebase familiarization:** read `FAMILIARIZATION.md` for the package catalog, uapi request path, and the inheritance pattern `*-generics` primitives → `generic-*` base implementations → product specializations (agents, tools, pipelines, prompts, LLMs). **Keep `FAMILIARIZATION.md` up to date with changes** (`BITCODE_SPECIFYING.md` §16.3.1): any change that moves package families, inheritance hierarchy, experience entry paths, product routes, or other structure the guide teaches must update `FAMILIARIZATION.md` in the same change set (accurate short section edits preferred).
88
- Highest caliber software engineering crafstmanship (maintainibility, abstractions, architectures, naming, patterns, comments, documentation, structures, algorithmic and data flow designs, UI/UX, etc.), correctness (specification and implementation precision, reliability, completeness, boundaried, scoped, encapsulated, etc.), and auditable (totalistic proofs systems from static code, build time, runtime, etc. etc. as is Bitcode, tests from unit, integration, E2E, linting and building, etc.). Every non-trivial file carries a top-of-file overview comment; obey SRP and DRY; co-locate unit tests with components when practical.
99
- Do not push work directly to `main`. Create a version base branch for each draft target, such as `version/v28`, then create scoped gate branches from that version branch. Gate branches must be prefixed with the gate number, such as `v28/gate-3-read-fit-workflow` or `v28/gate-8-promotion-proof`. Pull-request each closed gate back into the version branch. Pull-request the version branch into `main` only when all gates are closed and the version is formally promoted as canon. The default branch is protected by the `Bitcode Core Contributions` ruleset and requires pull requests plus verified signatures.
1010
- Gate pull request titles must begin with the uppercase version and gate prefix, followed by a concise topical title, for example `V29 Gate 5: AssetPack Disclosure Rights And Preview Depth`. Version-promotion pull requests must begin with the uppercase version and name canonical promotion.

BITCODE_SPECIFYING.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,12 @@ is incomplete: the specification must be brought to cover it (as
253253
outruns its spec. The specification↔implementation relationship of every change is
254254
thereby auditable from the commit history alone.
255255

256+
When a change alters package families, inheritance hierarchy, experience entry
257+
paths, product routes, or other structure that `FAMILIARIZATION.md` teaches,
258+
that map must be updated with the change (see §16.3.1). Leaving the
259+
familiarization map stale while source moves is the same class of failure as
260+
leaving implementation undocumentable from the active teaching surface.
261+
256262
---
257263

258264
# 3. Canonical File Family
@@ -1288,6 +1294,42 @@ When a code-documentation surface teaches active behavior, the current `SPEC` mu
12881294
- what product posture it carries,
12891295
- and what parity or proof surface validates it.
12901296

1297+
### 16.3.1 Repository Familiarization Map (`FAMILIARIZATION.md`)
1298+
1299+
`FAMILIARIZATION.md` is the required in-repo deep map of current Bitcode
1300+
implementation structure: package catalog, `uapi` request path, experience
1301+
layout, and the inheritance pattern `*-generics` primitives → `generic-*` base
1302+
implementations → product specializations (agents, tools, pipelines, prompts,
1303+
LLMs, and related families).
1304+
1305+
**Law:** `FAMILIARIZATION.md` must be kept up to date with changes.
1306+
1307+
Any change that alters how a reader must find or understand current
1308+
implementation structure must update `FAMILIARIZATION.md` in the same change
1309+
set (or in a immediately accompanying `specification-implementation` /
1310+
documentation commit that lands with that work), including at least:
1311+
1312+
- new or removed package families, nested `generic-*` packages, or product pipelines,
1313+
- inheritance hierarchy changes (primitive → base → product),
1314+
- experience modularization that moves primary entry paths or component homes,
1315+
- product routes, host model, or public navigation posture changes that affect
1316+
how operators or agents enter the system,
1317+
- and renames or splits that would leave catalog paths, package names, or
1318+
hierarchy diagrams stale.
1319+
1320+
Prefer accurate, short section edits over full rewrites. Stale
1321+
`FAMILIARIZATION.md` content that contradicts current source is a specifying
1322+
defect relative to Complete Implementation Derivability: implementers and
1323+
agents must not recover structure only from chat history or ad-hoc exploration
1324+
when the repository already claims a walkthrough map.
1325+
1326+
`FAMILIARIZATION.md` is explanatory/operational teaching of current structure,
1327+
not a parallel product-semantics canon. Product law remains in the active
1328+
`BITCODE_SPEC_VN` family. Layout contracts that bind filesystem placement
1329+
remain in `internal-docs/BITCODE_SOURCE_LAYOUT.md` and related architecture
1330+
docs; those surfaces and `FAMILIARIZATION.md` must not diverge on named paths
1331+
or hierarchy without an intentional, documented update.
1332+
12911333
## 16.4 Boundary Honesty
12921334

12931335
Accepted boundaries are allowed.

BITCODE_SPEC_V48_NOTES.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1453,6 +1453,14 @@ Public package export paths preserved. Jest deposit/depository/synthesis suites
14531453

14541454

14551455

1456+
## FAMILIARIZATION maintenance law (Garrett, 2026-07-13)
1457+
1458+
`BITCODE_SPECIFYING.md` §16.3.1 now requires `FAMILIARIZATION.md` to stay
1459+
current with structural changes (package families, inheritance hierarchy,
1460+
experience entry paths, product routes). Operational mirror: `AGENTS.md`.
1461+
This is part of Complete Implementation Derivability teaching surfaces, not a
1462+
parallel product-semantics canon.
1463+
14561464
## FAMILIARIZATION.md (codebase walkthrough)
14571465

14581466
`FAMILIARIZATION.md` is the in-repo deep map of packages, uapi, and inheritance

FAMILIARIZATION.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -590,14 +590,21 @@ as if they were source of product law.
590590

591591
## 11. Maintenance of this guide
592592

593+
**Specifying law** (`BITCODE_SPECIFYING.md` §16.3.1): this file **must** be
594+
kept up to date with structural changes. Stale content here is a defect relative
595+
to Complete Implementation Derivability.
596+
593597
Update `FAMILIARIZATION.md` when:
594598

595-
- A new package family is introduced
599+
- A new package family, nested `generic-*` package, or product pipeline is introduced or removed
596600
- Experience modularization changes the primary entry paths
597-
- Inheritance hierarchy gains a new layer
598-
- Product routes or host model change
601+
- Inheritance hierarchy gains, loses, or renames a layer
602+
- Product routes, host model, or public navigation posture change
603+
- Catalog paths, package names, or hierarchy diagrams would otherwise go stale
599604

600605
Prefer **accurate, short section edits** over rewriting the whole file each time.
606+
Land the edit with the structural change (same commit or accompanying
607+
`specification-implementation` / documentation commit).
601608

602609
---
603610

0 commit comments

Comments
 (0)