Data Model: CI-topology census
No new runtime entities. This mission reshapes the committed census artifact and the derivation that produces it. No API contracts (contracts/ intentionally absent — the gate has no request/response surface).
Entity: census worklist entry
The unit iterated by the SC-001 routing invariants and compared by the freshness gate.
Before (LOC-sensitive)
{ "dir": "bulk_edit", "loc": 1276, "cone_roots": ["tests/specify_cli/bulk_edit"],
"target_group": "agent_surface", "target_shard": "specify-cli-rest" }
the tax. List is sorted by (-loc, dir), so ordering is also LOC-derived.
loc— exact recursive*.pynewline count; freshness-compared for equality →
After (LOC-insensitive)
{ "dir": "bulk_edit", "cone_roots": ["tests/specify_cli/bulk_edit"],
"target_group": "agent_surface", "target_shard": "specify-cli-rest" }
(LOC-independent, diff-stable).
(loc >= t_loc) — it is just not emitted.
locremoved from the emitted/committed entry (C-001). Entries sorted bydirlocis still computed internally bylive_derived_worklistto decide membership
Derived fields & their freshness rule (after)
| Field | Source authority | Freshness comparison |
|---|---|---|
worklist | live tree ≥ t_loc minus frozen _PRE_MISSION_MAPPED_SRC_DIRS, annotated by _COMPOSITE_ROUTING | dir-keyed routing index (order/LOC-insensitive) |
mapped_dirs | parsed dorny filter groups (src-backed, ≠ any_src) | set equality (unchanged; already LOC-free) |
arch_blind_groups | differential arch matrix (empty today) | unchanged this mission (Out of Scope) |
t_loc | committed constant (500) | read as the live floor |
Invariants
(Floor-crossing changes membership → gate reds.)
worklist entries (rank-swap stays green).
(checked against the tree, not a stored snapshot).
- Membership floor:
dir ∈ worklist ⇔ live_loc(dir) ≥ t_loc ∧ dir ∉ frozen_mapped. - Routing plan per member is exactly its
_COMPOSITE_ROUTINGrow (hand-edit → reds). - Order independence: freshness verdict is invariant under any permutation of
- Live floor: each committed worklist dir satisfies
live_loc(dir) ≥ t_loc