# Source-Grounded Assistant Stale Issue Disposition Review V01

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

Date: 2026-06-30

Repository: `pinklon/ai-capability-discipline`

Baseline commit: `0ace3c76086e1de579139f7653cad4f62294b595`

## Purpose And Decision-Prep Boundary

This review prepares owner decisions for older open source-grounded assistant and proof issues whose original scope may now be stale, superseded, partly satisfied, deferred, or better handled as an umbrella closure review.

This is decision-prep only. It does not close or reopen issues, relabel issues or PRs, post explanatory comments on old issues, create follow-up implementation tickets, implement source-grounded assistant corpus expansion, implement source-grounded chat UX changes, change runtime behavior, change provider/model configuration, change Cloudflare configuration, use Cloudflare CLI or API, implement file upload or paste-source behavior, mutate source registries, mutate approved source sets, change package authority, 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 review are explicitly non-executed. Any issue closure, retained-parent decision, umbrella handling, follow-up implementation, Cloudflare change, runtime change, provider change, source mutation, or package-authority change requires a separate owner-authorized action.

## Reviewed Inputs

| Input | State observed | Evidence role |
|---|---|---|
| [#153](https://github.com/pinklon/ai-capability-discipline/issues/153) | Open | Semantic explainer and assessment contract. |
| [#156](https://github.com/pinklon/ai-capability-discipline/issues/156) | Open | External API-backed reference implementation architecture. |
| [#159](https://github.com/pinklon/ai-capability-discipline/issues/159) | Open | Static-site chat and serverless proxy requirements. |
| [#78](https://github.com/pinklon/ai-capability-discipline/issues/78) | Open | Original source-grounded assistant prototype umbrella. |
| [#165](https://github.com/pinklon/ai-capability-discipline/issues/165) | Open | Minimal external source-grounded chat proof. |
| [#167](https://github.com/pinklon/ai-capability-discipline/issues/167) | Open | External proof deployment and smoke-test lane. |
| [#169](https://github.com/pinklon/ai-capability-discipline/issues/169) | Open | Cloudflare proof environment and preview lane. |
| [#172](https://github.com/pinklon/ai-capability-discipline/issues/172) | Open | Provider-backed Cloudflare smoke lane. |
| [#182](https://github.com/pinklon/ai-capability-discipline/issues/182) | Open | Proof and provider API protection lane. |
| [#176](https://github.com/pinklon/ai-capability-discipline/issues/176) | Closed | Owner-narrowed corpus coverage slice, closed after PR #395. |
| [#187](https://github.com/pinklon/ai-capability-discipline/issues/187) | Closed | Session-scoped file upload and paste-source design. |
| [#196](https://github.com/pinklon/ai-capability-discipline/issues/196) | Closed | Governed corpus runtime and context-as-code storage model. |
| [#389](https://github.com/pinklon/ai-capability-discipline/issues/389) | Closed | Assistant enrichment lane recalibration. |
| [#393](https://github.com/pinklon/ai-capability-discipline/issues/393) | Closed | #176 residual-scope review before narrowed implementation. |
| [PR #395](https://github.com/pinklon/ai-capability-discipline/pull/395) | Merged | Corpus coverage inventory found required package families represented and no generator-only package addition needed. |

## Landed Context Summary

The old open assistant/proof issues should not be read as unstarted work. The repo now contains a source-grounded assistant proof surface, server-side provider boundary scaffold, proof runbook, access-boundary runbook language, provider smoke receipts, rate-limiting receipts, governed corpus runtime architecture, session-source design, #176 residual-scope review, and the #176 corpus coverage inventory.

#176 is now closed. The owner narrowed it to corpus coverage and citation/source metadata, PR #395 merged that slice, and the corpus coverage inventory recorded that Shared Core, AI Capability Discipline, MLL WESS Build Readiness, Enterprise Architecture Review Assistant, Playbook Map / Relationship Map, context-pack notes, source-grounded notes, architecture notes, and artifact/package metadata are represented. No new generator-only package source addition was needed.

#187 and #196 closed as design and architecture decisions. #187 keeps uploaded and pasted material in a user-provided session source lane, not approved package corpus. #196 makes the product core a governed corpus runtime and context-as-code package, not a generic chatbot or default vector-store RAG stack.

#389 and #393 already identified that many older open issues are receipt-backed, stale, or better handled as owner closure or retained-parent decisions rather than next implementation tickets. This review updates that stale-issue disposition with #176 closed after PR #395.

## Issue Disposition Matrix

| Issue | Current state summary | Related landed work | Disposition status | Recommended owner decision | Bundle or separate classification | Dependency/prerequisite notes | Next implementation-lane recommendation |
|---|---|---|---|---|---|---|---|
| [#78](https://github.com/pinklon/ai-capability-discipline/issues/78) | Original prototype umbrella for a source-grounded assistant over the approved artifact package. Later comments point to #150, #153, and #155 as shaping prerequisites. | `SOURCE_GROUNDED_ASSISTANT_PROTOTYPE.md`, #153, #156, #159, #165, #176, #187, #196, #389, #393, and PR #395. | Partly satisfied and umbrella-like. | umbrella review candidate | Bundle with #153, #156, and #159 for owner retained-parent or closure review. Must remain separate from runtime or Cloudflare implementation. | The behavior contract and corpus boundaries are substantially documented, but the issue can still serve as a historical umbrella if the owner wants one retained parent. | After owner disposition, use a new narrow implementation lane only if the owner wants a fresh prototype question beyond the landed proof and corpus inventory. |
| [#153](https://github.com/pinklon/ai-capability-discipline/issues/153) | Defines Find, Explain, Assess behavior, citation/refusal posture, and proposal assessment outputs for the source-grounded semantic explainer. | `SOURCE_GROUNDED_SEMANTIC_EXPLAINER.md`, `PROPOSAL_ASSESSMENT_PATH.md`, #78, #156, #165, #196, and #389. | Partly satisfied by landed architecture and behavior-contract artifacts. | close after owner approval | Bundle with #78, #156, and #159 as the assistant contract/design closure bundle. | Keep separate from provider, Cloudflare, upload, and runtime execution because this issue is a behavior contract. | If retained open, narrow it to contract maintenance only; do not select it as a new implementation lane. |
| [#156](https://github.com/pinklon/ai-capability-discipline/issues/156) | Defines an external API-backed reference implementation path with public/non-sensitive corpus, model adapter boundary, and portability to internal deployment. | `EXTERNAL_API_REFERENCE_IMPLEMENTATION.md`, #159 static/proxy requirements, #165 proof implementation, proof runbook, and later Cloudflare/protection receipts. | Superseded or substantially satisfied by landed design and proof work. | superseded by landed work | Bundle with #78, #153, and #159 for owner closure or retained-reference decision. | External reference architecture has moved from design into proof/runbook evidence. No provider approval follows from that evidence. | No new lane under #156 unless the owner asks for a fresh external reference architecture revision. |
| [#159](https://github.com/pinklon/ai-capability-discipline/issues/159) | Evaluates static-site chat bolt-on limits and server-side proxy requirements. | `STATIC_SITE_CHAT_PROXY_REQUIREMENTS.md`, #165 proof surfaces, `functions/api/source-grounded-chat.js`, runbook, and validation receipts. | Superseded or substantially satisfied by landed proof/proxy architecture. | superseded by landed work | Bundle with #78, #153, and #156 for owner closure or retained-reference decision. | Static hosting limitations and server-side secret boundary are now documented and represented in proof code and runbooks. | No next implementation lane unless the owner wants a new proxy architecture decision after current production posture changes. |
| [#165](https://github.com/pinklon/ai-capability-discipline/issues/165) | Builds the minimal external source-grounded chat proof. Current repo evidence indicates the proof surface and server boundary already exist. | `docs/source-grounded-chat-proof.html`, `docs/assets/source-grounded-chat-proof.js`, `functions/api/source-grounded-chat.js`, proof runbook, validators, and receipts. | Superseded by landed work and stale open state. | close after owner approval | Bundle with #167, #169, and #172 as the proof execution and smoke-test closure bundle. Must remain separate from #182 access/protection decision if the owner wants separate closure records. | Proof implementation appears landed; closure should not imply provider/model, production, enterprise, or workflow approval. | After owner disposition, use separate tickets for any new proof behavior, not this stale open issue. |
| [#167](https://github.com/pinklon/ai-capability-discipline/issues/167) | Deploys and smoke-tests the external proof, with fallback to deployment readiness if credentials or access are missing. | Cloudflare proof preview, deployment smoke receipts, proof runbook, and later provider-backed/protection evidence. | Superseded by later deployment and smoke evidence. | close after owner approval | Bundle with #165, #169, and #172 as proof execution and smoke-test closure bundle. | Depends on external environment evidence. Do not mutate Cloudflare or rerun provider smoke as part of disposition. | No implementation lane under #167; future deployment work should be a new explicit operational ticket. |
| [#169](https://github.com/pinklon/ai-capability-discipline/issues/169) | Configures Cloudflare proof environment and runs an external preview if tooling, account access, project, and secrets are available. | Cloudflare preview and deployment readiness receipts, provider-backed smoke trail, access protection receipts, and runbook updates. | Superseded by later Cloudflare proof and production-era evidence. | close after owner approval | Bundle with #165, #167, and #172 as proof execution and smoke-test closure bundle. | Any new Cloudflare account, Pages, Access, WAF, or secret work needs separate authorization. | Future Cloudflare work should start from current protected production posture, not this preview-era issue. |
| [#172](https://github.com/pinklon/ai-capability-discipline/issues/172) | Runs provider-backed Cloudflare smoke with an OpenAI-compatible provider through the protected server boundary. | Provider-backed Cloudflare smoke receipt, access-authenticated production runtime smoke trail, proof runbook, and rate-limiting/protection receipts. | Superseded or completed by landed smoke evidence, with residual environment dependence. | close after owner approval | Bundle with #165, #167, and #169 as proof execution and smoke-test closure bundle. | Provider-backed smoke depends on credentials, Access state, and provider configuration outside repo state. Do not expose or mutate secrets. | Future provider smoke should be tied to the exact new change being tested, not this stale open issue. |
| [#182](https://github.com/pinklon/ai-capability-discipline/issues/182) | Protects the proof page and `/api/source-grounded-chat` path, with public corpus remaining public and provider-backed API protected. | Proof runbook access boundary, PR #184 trail, `SOURCE_GROUNDED_API_RATE_LIMITING` receipt, Access-protected runbook smoke fix, and later protected production smoke evidence. | Partly satisfied and possibly completed, but owner may retain it as an access/protection umbrella. | owner clarification required | Keep separate for future implementation unless owner explicitly bundles it as protected-proof umbrella closure. It has different risk than #165/#167/#169/#172. | Whole-site access posture remains a separate lane. Any Cloudflare Access/WAF/rate-limit mutation requires explicit authorization. | Recommended next lane is owner decision only: close as completed, retain as umbrella, or create a new future access hardening ticket if new work is needed. |

## Bundle Candidates

| Candidate bundle | Included issues | Recommended owner decision | Why bundleable | Boundary |
|---|---|---|---|---|
| Assistant contract/design closure bundle | #78, #153, #156, #159 | umbrella review candidate | These issues define the original prototype, behavior contract, external reference path, and static/proxy requirements. Landed architecture and proof artifacts now cover most of the original design intent. | Closure or retained-parent review only. No runtime, provider, Cloudflare, upload, source, or package mutation. |
| Proof execution and smoke-test stale closure bundle | #165, #167, #169, #172 | close after owner approval | These issues represent build, deploy, preview, and provider-smoke phases whose repo evidence and receipts now exist. | Closure review only. Do not rerun Cloudflare/provider smoke or mutate secrets, Access, WAF, provider config, or runtime behavior. |

## Must-Remain-Separate Lanes

| Lane | Must remain separate because | Recommended handling |
|---|---|---|
| #182 proof and API protection | Access, WAF, rate limiting, allowed origins, and whole-site posture have different operational risk than proof implementation. | Owner should decide whether to close as completed, retain as umbrella, or authorize a new explicit access hardening ticket. |
| Session-scoped upload or paste-source implementation | #187 is design-only and uploads introduce privacy, retention, parsing, citation, and token/cost boundaries. | Keep separate for future implementation. |
| Corpus expansion or proof UX change | #176 is closed after a narrowed corpus inventory slice. | New corpus or UX work needs a fresh narrow ticket or explicit owner authorization. |
| Provider/model configuration | Provider selection, model routing, and credentials are runtime/security decisions. | Keep separate for future implementation. |
| Cloudflare configuration | Access, WAF, Pages, Functions, and secret configuration are external operational changes. | Keep separate for future implementation. |

## Recommended Owner Decision Sequence

1. Decide #182 first if access/protection posture is the active risk: close as completed, retain as umbrella, or authorize a new access hardening ticket.
2. Decide the proof execution and smoke-test stale closure bundle: #165, #167, #169, and #172.
3. Decide the assistant contract/design closure bundle: #78, #153, #156, and #159.
4. Only after owner disposition, select any new implementation lane from current need, not from stale issue titles.

## Recommended Next Implementation Lane

There is no automatically authorized next implementation lane from this review.

If the owner wants product value after disposition, the safest next implementation lane should be selected from current live need, likely one of:

- a narrow source-grounded assistant proof UX polish ticket if the current proof surface still has user-facing friction
- a separate access hardening ticket if #182 is retained and a specific Access/WAF/rate-limit gap is identified
- a session-source implementation ticket only after #187 design is explicitly activated for runtime work
- a fresh provider-backed smoke receipt ticket only when a new runtime, provider, or protected environment change needs evidence

Do not reuse stale open issue titles as implementation authority without owner disposition.

## Explicit Non-Execution Confirmation

This review records recommendations only. It did not close or reopen issues, relabel issues or PRs, post old-issue comments, create follow-up tickets, implement source-grounded assistant corpus expansion, implement source-grounded chat UX changes, change runtime behavior, change provider/model configuration, change Cloudflare configuration, use Cloudflare CLI or API, implement file upload or paste-source behavior, mutate source registries, mutate approved source sets, change package authority, add worker loops, add webhook loops, add scheduled loops, add polling, add external queues, reopen #269, reopen #271, or apply `codex-automerge`.

This review does not close or reopen issues.

This review does not relabel issues or PRs.

This review does not post explanatory comments on old issues.

This review does not create follow-up implementation tickets.

This review does not implement source-grounded assistant corpus expansion.

This review does not implement source-grounded chat UX changes.

This review does not change runtime behavior.

This review does not change provider/model configuration.

This review does not change Cloudflare configuration.

This review does not use Cloudflare CLI or API.

This review does not implement file upload or paste-source behavior.

This review does not mutate source registries.

This review does not mutate approved source sets.

This review does not change package authority.

This review does not add worker loops.

This review does not add webhook loops.

This review does not add scheduled loops.

This review does not add polling.

This review does not add external queues.

This review does not reopen #269.

This review does not reopen #271.

This review does not apply `codex-automerge`.

## Acceptance Checklist

- Required issue set is reviewed.
- Each issue has a current state summary.
- Each issue has related landed work.
- Each issue has a disposition status.
- Each issue has a recommended owner decision using an allowed recommendation state.
- Each issue has a bundle or must-remain-separate classification.
- Each issue has dependency or prerequisite notes.
- Each issue has a next implementation-lane recommendation.
- Recommendations are explicitly non-executed.
- Bundle candidates exist.
- Must-remain-separate classifications exist.
- Recommended owner decision sequence exists.
- Validation receipt records commands and boundary confirmations.
