Repository navigation
Description
Implementation programme for the design note landed for #5410: doc/2026-11-05T13-03-49Z_design_atlas_manifest_filter_surface/ (PR #6223, merged f86e532). Recommendation there: GO, with phasing. Design only was authorized for #5410; this issue tracks the build.
Phases (design note §8)
- Phase 1 — atlas-core: topics/projects filters are unescaped SQL LIKE patterns — % and _ act as wildcards, a quote crosses JSON element boundaries #5375 escaping fix, implementing the note §5
exactsemantics (JSON-encode the value, then LIKE-escape the encoded element text; invariant = decoded element equality). Already filed as atlas-core: topics/projects filters are unescaped SQL LIKE patterns — % and _ act as wildcards, a quote crosses JSON element boundaries #5375; lands first. - Phase 2 — Manifest schema + loader in atlas-core; today's surface expressed as the built-in manifest; generic label store (
generic_listshape, note §4) + its query construction. Oracle: parity fixtures byte-identical under the built-in manifest. - Phase 3 — Generic dimensions end-to-end: atlas-proto
FilterSpecdimension map (named fields as aliases for one release), CLI flags generated from the loaded surface, serve-mode validation against the effective surface. - Phase 4 — Serve-mode
CacheKeygains(manifest_version, content_hash)(note §7); surface identity in job metadata. - Phase 5 — Manifest writer in the classification/publish pass (same transaction as the labels); acceptance gate: one new
generic_listdimension (e.g. source-app) shipped by manifest only, no binary change.
Invariants (note §6, non-negotiable)
Sensitivity/ceiling semantics stay code-defined; no sensitivity keys exist in the manifest schema; shapes/stores are code-allowlisted; unknown request dimensions are loud errors; manifest failure falls back to the built-in surface loudly, never silently widening.
NO-GO trigger (note §10)
If the classification/publish pass cannot write the manifest in the same transaction as the labels in both modes (local publish file + Turso), stop and re-take the §3 home decision before loader work.
Filed by queue worker lane code-a (task 10475) so the #5410 design does not sit without a linked implementation path.
Acceptance criteria
- The schema-driven filter surface renders filters generated from the schema for the programme's named collections.
- Filter state round-trips through the URL/query contract used by the rest of atlas.
- Tests cover at least one collection end-to-end: schema -> rendered filter -> filtered results.
Activity
developing-today commentedon Nov 5, 2026
CODE-1823
dezren39 commentedon Nov 5, 2026
Intake review
🤖 Agent note · filed
21 remaining items
dezren39 commentedon Nov 6, 2026
🤖 Agent note · handed off
dezren39 commentedon Nov 6, 2026
🤖 Agent note · handed off
opencodedezren39 commentedon Nov 6, 2026
🤖 Agent note · claimed
9123103344b9e8e45c6d1beae1ed4ea4366d9998; design PR doc(atlas): design note — schema-driven filter surface from the classification manifest (#5410) #6223 is merged. Phase 1 prerequisite issue atlas-core: topics/projects filters are unescaped SQL LIKE patterns — % and _ act as wildcards, a quote crosses JSON element boundaries #5375 remains OPEN. The issue already records its five phases, ordering, invariants and NO-GO trigger.dezren39 commentedon Nov 6, 2026
Queue triage — 2026-11-06 (task 11037)
Revalidated against current
mainat9123103344b9e8e45c6d1beae1ed4ea4366d9998: #6228 is still OPEN, has no hard-stop labels, and a fresh PR search for6228returned no PRs. The design source is already landed: PR #6223 merged atf86e532b77d9f4a6fb53c9d768cfbf93bf399c9e.The programme is appropriately scoped in this issue already: five ordered phases, with Phase 1 blocked on #5375 (still OPEN); the remaining loader, generic-dimension, cache-key and manifest-writer phases follow it. The invariants and the same-transaction manifest-writer NO-GO trigger are recorded here, so no further split or implementation is needed to finish this triage.
Disposition: keep #6228 OPEN as the implementation programme. Continue only after Phase 1 #5375 lands; honor the recorded NO-GO trigger before loader work.
dezren39 commentedon Nov 6, 2026
🤖 Agent note · triaged / done