> For the complete documentation index, see [llms.txt](https://faction-os.gitbook.io/faction-os-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://faction-os.gitbook.io/faction-os-docs/.spec_system/archive/phases/phase_18/session_11_validation_documentation_and_handoff.md).

# Session 11: Validation Documentation And Handoff

**Session ID**: `phase18-session11-validation-documentation-and-handoff` **Status**: Not Started **Estimated Tasks**: \~12-25 **Estimated Duration**: 2-4 hours

***

## Objective

Validate the full Quest Board parity stack end to end, synchronize stable documentation and privacy records, and close the phase with auditable evidence.

***

## Scope

### In Scope (MVP)

* Full monorepo test gate (protocol, server, web projects) plus typecheck and lint gates
* End-to-end validation evidence: hero-idle generation through snapshot to rendered cards; accept/dismiss persistence across server restart; scan, analysis, and project-scan flows including status reporting
* ASCII and LF validation on all new files; secret scan after staging
* Stable docs updates: `docs/api/` for the `/suggestions/*` family, architecture and package READMEs for the manager and engines, keyboard shortcut docs
* Reconcile `apps/server/src/llm/prompts/idle-suggestion-engine.md` with the implemented runtime behavior (it historically described mission-complete triggering, throttling, card clicks, and shortcuts that did not exist; it must now describe what actually shipped)
* Privacy/data documentation: add `suggestions.json` (file paths and code-derived text) to the personal-data inventory with a manual deletion path, and note that trusted unified erasure no-claim now covers this file
* `unsupportedRoutes.ts` final reconciliation: only genuinely unshipped historical routes remain listed
* Parity closeout: verify every row of the preserved parity audit in `PRD_phase_18.md` Appendix A is shipped, deliberately excluded, or recorded as follow-up work. The original audit document (`docs/ongoing-projects/quest-board.md`) is deleted; Appendix A is the canonical inventory
* Phase tracker, master PRD progress, and handoff notes updated together

### Out of Scope

* New features or scope additions discovered during validation (record as follow-up items instead)

***

## Prerequisites

* [ ] Sessions 01-10 completed
* [ ] No failing tests or open blockers from earlier sessions

***

## Deliverables

1. Recorded validation evidence for all end-to-end flows and gates
2. Updated stable docs, API docs, and privacy/data inventory entries
3. Reconciled unsupported-routes list and Appendix A parity closeout
4. Phase closeout artifacts updated in the same pass (tracker, PRD, handoff notes)

***

## Success Criteria

* [ ] Full test, typecheck, lint, ASCII/LF, and secret-scan gates pass
* [ ] Restart-persistence and end-to-end suggestion flows are evidenced
* [ ] Privacy inventory documents the new persistence surface
* [ ] Appendix A inventory reflects final shipped status with exclusions recorded

***

## Historical Evidence (EXAMPLES References)

Preserved from the 2026-06-07 parity audit (full audit in `PRD_phase_18.md` Appendix A). Evidence only; never import, copy, or transform historical code.

* `EXAMPLES/findings/api-routes.txt:149` - the historical `/suggestions/*` route family inventory to reconcile against shipped routes.
* Comparable-or-better posture to preserve and document (from audit section A.5):
  * Zod request validation at `apps/server/src/routes/llm.ts:159` (historical route validation evidence was bundled and uninspectable).
  * Scan-root privacy approval at `apps/server/src/lib/llmPrivacy.ts:89`, including refusal of filesystem-root scans and roots outside approved project paths.
* Phase exclusions to record in docs and the closeout (from audit sections A.3-A.4): suggestion telemetry (`posthog.js:1`), the `SUGGESTION_ENGINE` entitlement gate (`featureGates.js:1`), and the latent codebase-issue accept path (`suggestionManager.js:1` `acceptQuest`, never wired in `index.js:1`).

## Current-Code Touchpoints (Audit Snapshot 2026-06-07)

* `docs/api/README_api.md:273` - `/llm/idle-suggestion` is documented today; extend with the shipped `/suggestions/*` family.
* `apps/server/src/lib/unsupportedRoutes.ts:94` - final reconciliation target: only genuinely unshipped historical routes may remain listed.
* `apps/server/src/llm/prompts/idle-suggestion-engine.md:1` - prompt doc to reconcile with shipped runtime behavior.
* New privacy surface to document: `suggestions.json` under the FactionOS home directory (file paths and code-derived text; manual deletion path; widens the trusted-erasure no-claim inventory).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://faction-os.gitbook.io/faction-os-docs/.spec_system/archive/phases/phase_18/session_11_validation_documentation_and_handoff.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
