# Assistant Enrichment Lane Backlog Triage Recalibration V01

Issue: [#389](https://github.com/pinklon/ai-capability-discipline/issues/389)

Date: 2026-06-30

Repository: `pinklon/ai-capability-discipline`

Baseline commit: `ba4b2fba92477482a17209eb7e394f839d813373`

## Purpose And Read-Only Boundary

This packet recalibrates the assistant enrichment lane before any new implementation ticket is selected. It reviews open source-grounded assistant, corpus expansion, provider-boundary, session-source, governed-corpus-runtime, and supporting doctrine work as one dependency-linked backlog cluster.

This is a read-only triage and planning artifact. It does not implement assistant runtime behavior, change source-grounded chat behavior, change provider or model configuration, change Cloudflare configuration, use Cloudflare CLI or API, mutate source registries, mutate approved source sets, change package authority, create follow-up implementation tickets, relabel issues or PRs, close or reopen issues, post explanatory comments on old issues, add worker loops, add webhook loops, add scheduled loops, add polling, add external queues, reopen #269, reopen #271, or apply `codex-automerge`.

Recommendations in this packet are not execution. They require a future explicit owner decision or a separate authorized ticket before any GitHub issue state, label, runtime surface, provider boundary, Cloudflare state, source registry, source set, or package authority changes.

## Reviewed Issue Set

| Issue | State observed | Current triage role | Current reading |
|---|---|---|---|
| [#78](https://github.com/pinklon/ai-capability-discipline/issues/78) | Open | Original assistant prototype umbrella | Substantially documented by `SOURCE_GROUNDED_ASSISTANT_PROTOTYPE.md`; likely candidate closure or umbrella disposition after owner review, not next implementation. |
| [#153](https://github.com/pinklon/ai-capability-discipline/issues/153) | Open | Semantic explainer and assessment contract | Substantially documented by `SOURCE_GROUNDED_SEMANTIC_EXPLAINER.md` and `PROPOSAL_ASSESSMENT_PATH.md`; candidate closure review or retained-parent decision. |
| [#156](https://github.com/pinklon/ai-capability-discipline/issues/156) | Open | External API reference implementation architecture | Substantially documented by `EXTERNAL_API_REFERENCE_IMPLEMENTATION.md`; candidate closure review or retained-reference decision. |
| [#159](https://github.com/pinklon/ai-capability-discipline/issues/159) | Open | Static site plus server-side proxy requirements | Substantially documented by `STATIC_SITE_CHAT_PROXY_REQUIREMENTS.md`; candidate closure review or retained-reference decision. |
| [#165](https://github.com/pinklon/ai-capability-discipline/issues/165) | Open | Minimal external proof implementation | Repo evidence shows the minimal proof surface, server-boundary scaffold, validator, and receipt exist. Treat as stale open candidate close, not next build work. |
| [#167](https://github.com/pinklon/ai-capability-discipline/issues/167) | Open | Deploy and smoke-test proof | Repo evidence and receipts show deployment readiness and smoke-test work. Treat as stale open candidate close after owner review. |
| [#169](https://github.com/pinklon/ai-capability-discipline/issues/169) | Open | Cloudflare proof environment and preview | Repo evidence shows preview and later production-era work superseded much of the original preview setup. Treat as stale or completed/superseded candidate after owner review. |
| [#172](https://github.com/pinklon/ai-capability-discipline/issues/172) | Open | Provider-backed Cloudflare smoke | Repo evidence shows provider-backed smoke receipts and later protected production smoke work. Treat as stale open candidate close after owner review. |
| [#176](https://github.com/pinklon/ai-capability-discipline/issues/176) | Open | Corpus expansion and proof UX | Partly satisfied by corpus expansion, proof UX, telemetry, and citation repairs. Needs targeted residual-scope review before new implementation. Not recommended as next. |
| [#182](https://github.com/pinklon/ai-capability-discipline/issues/182) | Open | Protect proof and provider API paths | Repo evidence shows protection posture, runbook, Access, and rate-limiting receipts. Treat as completed-or-umbrella owner decision, not next build work. |
| [#187](https://github.com/pinklon/ai-capability-discipline/issues/187) | Open | Session-scoped upload and paste sources | Valid later design lane for user-provided session sources. It should follow the governed corpus runtime architecture decision or run in parallel only as design. |
| [#196](https://github.com/pinklon/ai-capability-discipline/issues/196) | Open | Governed corpus runtime architecture | Recommended next highest-value ticket because it consolidates the product/storage/runtime boundary before uploads, residual UX expansion, or new implementation lanes. |
| [#53](https://github.com/pinklon/ai-capability-discipline/issues/53) | Open | Supporting shared-core doctrine | Parallel foundation or lower-priority support for assistant enrichment. It is not a blocking prerequisite for #196, #187, or residual assistant cleanup. |

## Additional Related Issues Discovered

The all-state `area:grounded-assistant` sweep found later repo-local work that materially changes the lane order:

| Issue | State observed | Impact on this recalibration |
|---|---|---|
| [#213](https://github.com/pinklon/ai-capability-discipline/issues/213) | Closed | Promoted assistant and architecture explainer corpus, expanding assistant corpus coverage beyond older #176 assumptions. |
| [#271](https://github.com/pinklon/ai-capability-discipline/issues/271) | Closed | Current-source extraction-profile parent is now closed after #354. Do not treat #271 as an open prerequisite. Do not reopen it here. |
| [#354](https://github.com/pinklon/ai-capability-discipline/issues/354) | Closed | Closure audit shows #271 target sources have substantive profiles, validators, proof coverage, and documented Production or Preview posture. |
| [#269](https://github.com/pinklon/ai-capability-discipline/issues/269) | Closed | Source Registry Admin parent/meta issue remains closed. Its product requirements and dry-run stack are repo-local evidence, not an authorization to reopen #269. |
| [#325](https://github.com/pinklon/ai-capability-discipline/issues/325) through [#343](https://github.com/pinklon/ai-capability-discipline/issues/343) | Closed | Source Registry Admin product requirements, schema, dry-run parser, receipts, snapshots, and workflows reduce uncertainty for source lifecycle governance but do not authorize live source mutation. |
| [#356](https://github.com/pinklon/ai-capability-discipline/issues/356) through [#382](https://github.com/pinklon/ai-capability-discipline/issues/382) | Closed | Orchestration and Codex handoff work improves execution discipline but is not the next assistant product value lane. |

## Closed-Issue Audit Sources Reviewed

| Source | Evidence role |
|---|---|
| [#304](https://github.com/pinklon/ai-capability-discipline/issues/304), `docs/product-architecture/full_closed_backlog_implementation_reality_audit_v01.md` | Full closed backlog implementation-reality audit, closure classes, missing implementation-ticket risks, and closed issue classification caveats. |
| [#306](https://github.com/pinklon/ai-capability-discipline/issues/306), `docs/product-architecture/closed_backlog_audit_coverage_delta_v01.md`, `.json` | Baseline and delta rule for avoiding a full repeat of #304 unless the baseline or delta breaks. |
| [#308](https://github.com/pinklon/ai-capability-discipline/issues/308) | Anti-manual-toil and ticket-first control. |
| [#310](https://github.com/pinklon/ai-capability-discipline/issues/310), `docs/product-architecture/audit_recommendation_follow_up_ledger_v01.md`, `.json` | Follow-up grouping and owner decision surface for #304 recommendations. |
| [#312](https://github.com/pinklon/ai-capability-discipline/issues/312), `docs/product-architecture/owner_review_disposition_packet_v01.md`, `.json` | Candidate owner-review dispositions for ambiguous closed backlog rows. |
| [#387](https://github.com/pinklon/ai-capability-discipline/issues/387), `docs/product-architecture/owner_review_disposition_decision_record_v01.md`, `.json` | Owner-approved disposition baseline after #312, including no reopen, no child issue, no relabel, no explanatory comment, and #254 deferral. |
| `validation/receipts/AI_Capability_Playbook_FULL_CLOSED_BACKLOG_REALITY_AUDIT_V01_2026-06-27.md` | Validation receipt for the original audit. |
| `validation/receipts/AI_Capability_Playbook_CLOSED_BACKLOG_AUDIT_COVERAGE_DELTA_V01_2026-06-27.md` | Receipt for the post-audit delta rule. |
| `validation/receipts/AI_Capability_Playbook_OWNER_REVIEW_DISPOSITION_DECISION_RECORD_V01_2026-06-30.md` | Receipt for the latest owner-approved disposition record. |

## Open And Closed Issue Hygiene Sanity Method

This focused pass used deterministic, read-only evidence:

1. Verify #389 is open and contains the amended closed-issue and cross-backlog sanity scope.
2. Read the required open issues #78, #153, #156, #159, #165, #167, #169, #172, #176, #182, #187, #196, plus #53 as support only.
3. Export all-state `area:grounded-assistant` issues and compare open issues against later closed work and repo-local receipts.
4. Review #304, #306, #308, #310, #312, and #387 trail plus their repo-local artifacts and receipts.
5. Check for assistant-enrichment issues closed without clear execution evidence.
6. Check open assistant-enrichment issues for missing labels, weak dependency refs, weak parent refs, stale acceptance criteria, and stale completion posture.
7. Classify serial, safe-parallel, bundleable, separate, blocked, ready, deferred, stale, and owner-decision lanes without mutating issues.

This pass is not a full repeat of #304. It treats #304 as the historical baseline and checks only the assistant enrichment lane implications after later work landed.

## Current State Of Assistant Corpus, Enrichment, And Source-Grounded Backlog

The current assistant proof is no longer just a future architecture idea. The repo now contains:

- `docs/source-grounded-chat-proof.html`
- `docs/assets/source-grounded-chat-proof.js`
- `docs/assets/source-grounded-chat-proof.css`
- `functions/api/source-grounded-chat.js`
- `docs/source-grounded-chat-proof-runbook.md`
- `context-pack/assistant_corpus.jsonl`
- `docs/context-pack/assistant_corpus.jsonl`
- validators for source-grounded proof behavior, source registry governance, extraction profiles, preview evidence lanes, Source Registry Admin dry-run workflows, and backlog governance

The current assistant corpus mirror has 2128 JSONL rows in both root and published context-pack locations at this baseline. The proof page and client expose source selection, refusal, current/public citation separation, provider-status metadata, token-usage metadata when available, `/api/source-grounded-chat` request counts, and zero direct browser provider-call counts.

The current-source lane has also advanced materially. #271 is closed after #354 because the named target sources have substantive profiles and deterministic proof coverage. Production posture is repo-documented for NIST AI RMF, NIST SSDF, and OWASP GenAI LLM Top 10 2025. CISA / NSA / NCSC Secure AI guidance is Preview-only and must not be promoted by this packet.

## Dependency Map

| Lane | Depends on | Dependency type | Current status |
|---|---|---|---|
| #196 governed corpus runtime architecture | Existing proof, context-pack, current-source, Source Registry Admin, and assistant corpus evidence | Sequencing prerequisite for larger product clarity | Ready. Best next ticket. |
| #187 session-scoped uploaded or pasted sources | #196 storage/runtime boundary, source identity rules, privacy and retention posture | Design prerequisite before any upload implementation | Deferred until #196 or safe parallel as design only. |
| #176 corpus expansion and proof UX residuals | Current corpus count, later UX repair receipts, #196 corpus architecture, owner decision on residual scope | Stale/residual-scope dependency | Wait. Needs targeted residual-scope review before implementation. |
| #165, #167, #169, #172, #182 | Later PRs, receipts, runbooks, protected production posture | Closure hygiene dependency, not implementation dependency | Candidate close or umbrella decisions after owner review. |
| #153, #156, #159, #78 | Landed product-architecture notes and receipts | Closure hygiene dependency, not implementation dependency | Candidate closure or retained-parent decisions after owner review. |
| #53 | Shared-core doctrine evolution | Supporting doctrine, not assistant-blocking | Parallel or lower-priority. |

## Prerequisite Map

| Candidate lane | Must happen first | Why |
|---|---|---|
| New upload runtime behavior | #187 design and likely #196 architecture | Uploaded sources introduce privacy, retention, source identity, citation, parsing, and cost boundaries. |
| New corpus expansion UX work under #176 | #176 residual-scope review and #196 architecture | Much of #176 was already satisfied or superseded by later corpus and UX work. Starting it directly risks duplicate UI/context-pack churn. |
| New provider-backed external proof work | Owner decision on stale #165/#167/#169/#172 state | Those issues still read open even though receipts show substantial completion. |
| New protected proof/API work under #182 | Owner decision whether #182 is completed or umbrella | Protection and rate-limiting evidence exists. Remaining work should be scoped separately if any. |
| Shared-core patch #53 | No assistant-specific prerequisite | Useful foundation, but not required for #196 architecture. |

## Blocked Vs Ready Lanes

| Lane | Classification | Reason |
|---|---|---|
| #196 | Ready | Clear architecture scope, current repo evidence is sufficient, no runtime mutation required, and it clarifies downstream storage/runtime boundaries. |
| #187 | Deferred, design-ready after #196 | Valid design lane but should not precede #196 because uploaded/session sources need storage, source-authority, retention, and telemetry posture. |
| #176 | Blocked for implementation, ready for residual-scope review | Later PRs and receipts partly satisfy it. It should not be next until the owner decides whether it is superseded, completed, or still has residual scope. |
| #165/#167/#169/#172/#182 | Blocked for new implementation, ready for owner closure/umbrella review | Repo evidence indicates completion or supersession, but this packet cannot close, relabel, or comment. |
| #153/#156/#159/#78 | Blocked for new implementation, ready for owner closure/retained-parent review | Architecture artifacts exist. Any retained-parent semantics need owner decision. |
| #53 | Deferred | Useful but not blocking the assistant enrichment path. |

## Serial Vs Safe-Parallel Opportunities

Serial:

- Run #196 before any upload implementation, broad corpus expansion, new storage substrate, vector/search/database evaluation, or new source-ingestion design.
- Run #187 design before any session-upload implementation.
- Resolve #176 residual-scope posture before implementing more proof UX or corpus expansion under that issue.
- Decide #165/#167/#169/#172/#182 stale open posture before treating those issues as ready implementation work.

Safe parallel, with separate branches and no shared files:

- #196 architecture can proceed while a separate owner-approved GitHub metadata pass reviews stale open issue closure posture, because #196 edits product/source docs and validation while the metadata pass edits GitHub state only.
- #53 shared-core doctrine can proceed in parallel if it avoids the same product/source files and does not claim to authorize assistant runtime work.
- #187 can run as a design-only packet in parallel only if it explicitly treats #196 as an input to reconcile later and avoids runtime/client/proxy files.

## Tickets That Can Be Safely Bundled Together

These bundle recommendations are owner-decision candidates only:

| Bundle candidate | Why bundleable | Boundary |
|---|---|---|
| #153, #156, #159, #78 | All are architecture or prototype-contract issues substantially represented by existing product-architecture notes and receipts. | Bundle only as closure/retained-parent review, not runtime implementation. |
| #165, #167, #169, #172 | All are older external proof, deployment, preview, and provider-smoke issues with later proof receipts. | Bundle only as stale open completion/supersession review, not Cloudflare mutation or provider smoke. |
| #182 with rate-limiting/protection receipts | Protection posture and rate limiting are documented. | Bundle only if owner wants one protected-proof umbrella disposition. Do not change Access/WAF here. |

## Tickets That Must Remain Separate

| Ticket or lane | Must remain separate because |
|---|---|
| #196 | It changes product/source architecture and context-pack posture. It should not be mixed with runtime behavior, issue metadata mutation, or upload design. |
| #187 | Uploaded/session sources carry privacy, retention, parsing, citation, and token/cost questions. Keep design separate from implementation and from #176 UX cleanup. |
| #176 | Its scope is partly satisfied and partly stale. It needs residual-scope review before any implementation. |
| #53 | Shared-core doctrine has broader package impact and should not be silently treated as assistant prerequisite. |
| CISA / NSA / NCSC Production promotion | Not authorized here and not part of #389. Requires a separate Production mutation ticket. |
| Any provider/model or Cloudflare change | Operational mutation and secrets/access boundaries require separate explicit authorization. |

## Closed-Issue Risks Affecting Assistant Enrichment Lane Order

| Risk | Finding | Impact |
|---|---|---|
| Implementation-sounding closed issues can be documentation-only or architecture-only | #304 found this pattern across closed backlog. | Do not infer runtime or product capability from title alone. |
| #271 closure changes prerequisite assumptions | #271 is now closed after #354, with CISA / NSA / NCSC still Preview-only. | Do not recommend #271 work as prerequisite. Do not reopen #271. |
| #269 remains closed despite Source Registry Admin continuation artifacts | Product requirements and dry-run artifacts exist, but #269 is not open. | Do not reopen #269. Treat Source Registry Admin evidence as constraints for future source work. |
| Older open proof issues are already backed by receipts | #165/#167/#169/#172/#182 look stale relative to receipts and later work. | Do not select them as next implementation tickets without owner closure/umbrella decision. |
| Owner-review set is closed to execution | #387 approved no reopen, no child issue, no relabel, no explanatory comment for the #312 packet. | Do not start metadata cleanup or issue mutation from this recalibration. |

## Open-Issue Label, Linkage, And Dependency Hygiene Observations

| Observation | Affected issues | Recommendation |
|---|---|---|
| Open issues predate current required-label and work-payload discipline. | #78, #153, #156, #159, #165, #167, #169, #172, #176, #182, #187, #196 | Treat missing modern payload fields as hygiene findings, not blockers to this packet. Do not relabel here. |
| Several stale open issues have later completion receipts. | #165, #167, #169, #172, #182 | Owner-approved closure or umbrella review should happen separately. |
| Some open issues are missing priority labels despite being in the active assistant lane. | #176, #182, #187 | Record as hygiene only. Do not apply labels here. |
| Parent or prerequisite links are weak for the older issue chain. | #78, #153, #156, #159, #165, #167, #169, #172 | Future issue updates should explicitly link architecture, proof, deployment, provider, and protection dependencies. Do not update old issues here. |
| #176 has stale scope. | #176 | Residual-scope review should classify completed, superseded, or remaining UX/corpus work before implementation. |
| #196 has strong current relevance. | #196 | Use it as the next architecture consolidation ticket. |

## Recommended Next Highest-Value Ticket

Recommended next ticket: [#196](https://github.com/pinklon/ai-capability-discipline/issues/196), Codify governed corpus runtime architecture and context-as-code storage model.

Reason: the assistant enrichment lane has moved beyond "can a proof exist" into "what is the governed corpus runtime product architecture." #196 can consolidate the current proof, assistant corpus, context-pack, Source Registry Admin, current/public source, refusal, citation, telemetry, and optional future data-store posture without mutating runtime behavior. It also reduces risk before #187 upload design or any renewed #176 corpus/UX work.

## Recommended Second And Third Tickets

Second: [#187](https://github.com/pinklon/ai-capability-discipline/issues/187), design session-scoped file upload sources, after #196 or in explicitly reconciled design-only parallel work.

Third: [#176](https://github.com/pinklon/ai-capability-discipline/issues/176), but only as a residual-scope review or owner decision on completed versus superseded versus remaining work. It should not be treated as direct implementation until that review is done.

## Required Specific Determinations

| Question | Determination |
|---|---|
| Is #53 prerequisite, parallel foundation, or lower-priority for assistant enrichment? | #53 is parallel foundation or lower-priority support. It is not a blocking prerequisite for #196, #187 design, or residual #176 review. |
| Should #176 be next or wait for a prerequisite? | #176 should wait. It needs residual-scope review and should likely follow #196 because much of the original corpus and UX scope was satisfied or superseded. |
| Are #187 session-scoped sources a design prerequisite or later enrichment lane? | #187 is a later enrichment design lane. It is a prerequisite before any upload implementation, but it is not prerequisite for #196. |
| Is #196 prerequisite, parallel doctrine, or later consolidation? | #196 is the next architecture consolidation and practical prerequisite before uploads, storage substrate expansion, broad corpus scaling, or new data-store decisions. |

## Backlog Triage Agent Or Process Misses

The earlier wrong next-ticket recommendation appears to have missed four signal classes:

1. Closure-reality signal: older open proof issues had receipts and later PR evidence, so selecting them as if unstarted would duplicate work.
2. Dependency signal: #187 upload design and residual #176 corpus/UX work need #196 storage/runtime boundary clarity.
3. Bundling signal: #153/#156/#159/#78 and #165/#167/#169/#172/#182 are better reviewed as stale/closure or retained-parent bundles, not individual next implementation lanes.
4. Current-state signal: #271 is now closed after #354, so it is no longer an open prerequisite.

## Recommended Backlog Triage Agent Process Improvements

These are recommendations only:

- Before selecting the next assistant-enrichment ticket, run an all-state label/term sweep for `area:grounded-assistant`, `source-grounded`, `assistant`, `current-source`, and `context-pack`.
- Compare candidate open issues against validation receipts, product-architecture artifacts, and recently closed parent/child issues before ranking.
- Add an explicit "stale open but receipt-backed" classification to triage reports.
- Require a "candidate closure bundle" section when multiple open issues are likely completed or superseded by later PRs.
- Require a "conceptual prerequisite" section for storage/runtime/source-authority questions before upload, retrieval, vector/search/database, provider, or Cloudflare work.
- Preserve recommendations as recommendations only unless a separate issue authorizes GitHub mutation.

## Explicit No-Implementation Boundary

This packet authorizes no implementation work. It does not authorize code changes to `docs/source-grounded-chat-proof.html`, `docs/assets/source-grounded-chat-proof.js`, `docs/assets/source-grounded-chat-proof.css`, `functions/api/source-grounded-chat.js`, Cloudflare configuration, provider configuration, source registries, approved source sets, context package authority, issue labels, issue states, PR labels, old-issue comments, worker loops, webhook loops, scheduled loops, polling, or external queues.

## Acceptance Checklist

- Recalibration packet exists.
- Required issue set is reviewed.
- Additional related issues discovered by all-state grounded-assistant sweep are recorded.
- Closed-issue audit sources are reviewed.
- Open and closed issue hygiene sanity method is recorded.
- Current assistant corpus, enrichment, and source-grounded backlog state is recorded.
- Dependency map and prerequisite map exist.
- Blocked versus ready lanes are classified.
- Serial versus safe-parallel opportunities are classified.
- Bundle candidates and must-remain-separate tickets are classified.
- Closed-issue risks are recorded.
- Open-issue label, linkage, and dependency hygiene observations are recorded.
- Recommended next, second, and third tickets are recorded.
- #53, #176, #187, and #196 determinations are explicit.
- Backlog triage agent/process miss analysis is included.
- Triage-agent process improvements are recommendations only.
- Explicit no-implementation boundary is present.
