> 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/sessions/phase12-session02-release-closeout-and-rollout-readiness/rollout-readiness-checklist.md).

# Rollout Readiness Checklist

**Session ID**: `phase12-session02-release-closeout-and-rollout-readiness` **Package**: Cross-cutting **Date**: 2026-05-31 **Status**: Complete

***

## Release Path

Supported first Codex release path:

1. Install or link the FactionOS CLI.
2. Run `factionos init --cli codex` or `factionos init --cli all`.
3. Start a new Codex CLI session.
4. Review loaded hooks with `/hooks`.
5. Use `factionos status --cli codex` and `factionos doctor --cli codex` for local posture checks.
6. Use `factionos uninstall --cli codex` for managed-hook cleanup.

This release does not ship a Codex plugin package.

***

## Operator Checklist

| Step                               | Status         | Evidence                   | Notes                                                                          |
| ---------------------------------- | -------------- | -------------------------- | ------------------------------------------------------------------------------ |
| CLI available                      | Pass           | T011 isolated smoke        | Used workspace CLI entrypoint.                                                 |
| Isolated `FACTIONOS_HOME` prepared | Pass           | T011 isolated smoke        | Temporary home was used and removed after evidence capture.                    |
| Isolated `CODEX_HOME` prepared     | Pass           | T011 isolated smoke        | Temporary Codex home was used and removed after evidence capture.              |
| Codex install command              | Pass           | T011 isolated smoke        | `factionos init --cli codex --faction orc` passed.                             |
| User-owned hook preservation       | Pass           | T011 isolated smoke        | 1 unmanaged hook and unknown top-level state were preserved.                   |
| Backup behavior                    | Pass           | T011 isolated smoke        | Backup state existed after install.                                            |
| Reinstall idempotency              | Prior evidence | Phase 11 validation record | Rerun only if needed by T011.                                                  |
| `/hooks` review guidance           | Pass           | T011 isolated smoke        | Status and doctor included `/hooks` guidance.                                  |
| Status command                     | Pass           | T011 isolated smoke        | Compact posture passed scanned privacy labels.                                 |
| Doctor command                     | Pass           | T011 isolated smoke        | Compact posture passed scanned privacy labels.                                 |
| Uninstall command                  | Pass           | T011 isolated smoke        | Managed hooks went to 0 and unmanaged state was preserved.                     |
| Rollback posture                   | Pass           | T011 review                | Rollback is uninstall plus re-run install from a known release.                |
| Docs handoff                       | Pass           | T016 docs review           | Release docs match supported path and no-claims after one API-doc wording fix. |
| Release notes                      | Pass           | T017 final notes           | Changelog wording includes supported paths, gate results, and limitations.     |

***

## Install Review

Expected local behavior:

* FactionOS local state is created under the configured FactionOS home.
* Codex hooks are written under `CODEX_HOME` when set, otherwise the Codex user config directory.
* Existing Codex hooks are backed up before the first managed write when a raw hooks file exists.
* User-owned Codex hooks, matchers, events, and unknown top-level fields are preserved.
* Older FactionOS-managed Codex command hooks are removed before writing the current managed map.
* Managed command hooks include `FACTIONOS_CLI=codex-cli`.

Not expected:

* Codex auth, provider, telemetry, model, profile, API key, account settings, trusted-project state, or hook trust decisions are changed.
* Project-local `.codex` files are created.
* A Codex plugin is installed.

***

## Status And Doctor Review

Expected compact posture:

* Hooks file presence and JSON validity.
* Managed hook count.
* Unmanaged hook count.
* Backup state.
* Hook feature state.
* `/hooks` review guidance.

Not allowed in evidence:

* Raw hook config bodies.
* Raw prompts, patch bodies, command bodies, command output, terminal output, transcript paths, MCP argument bodies, token-like values, credentials, temp home paths, or broad local paths.

***

## Uninstall And Rollback Review

Expected uninstall behavior:

* If `hooks.backup.factionos.json` exists, restore the first-run backup and remove the FactionOS backup file.
* If no backup exists, remove only FactionOS-managed Codex command hooks.
* Preserve user-owned hooks and unknown top-level fields.
* Keep uninstall idempotent.
* Do not claim broad trusted erasure.

Rollback posture:

* To disable Codex hook support, run `factionos uninstall --cli codex`.
* To roll back to a previous FactionOS hook map, install or link the previous release and rerun `factionos init --cli codex` after reviewing the release notes.
* If user-owned Codex config was already present, the first FactionOS backup is the preferred restore source.

***

## Hosted And Plugin Rollout Boundaries

| Boundary                             | Rollout status                                       |
| ------------------------------------ | ---------------------------------------------------- |
| Codex plugin package                 | Deferred; no rollout.                                |
| Plugin install/cache/trust/uninstall | N/A; no plugin package exists.                       |
| `/hooks` trust bypass                | Not supported.                                       |
| Project-local trusted `.codex` setup | Not created.                                         |
| Hosted telemetry                     | Not added.                                           |
| Production-hosted validation         | No-claim unless live hosted smoke passes separately. |
| Remote execution                     | Not added.                                           |
| Broad trusted erasure                | Not claimed.                                         |

***

## Handoff Checklist

* [x] T011 isolated rollout smoke reviewed.
* [x] T012 root quality gates recorded.
* [x] T013 media, hosted no-network, secret scan, and diff gates recorded.
* [x] T015 privacy/security review completed.
* [x] T016 docs review completed.
* [x] T017 release notes finalized.
* [x] T018 limitations and follow-ups recorded.
* [x] T019 artifact hygiene review completed.
* [x] T020 no-overclaim review completed.
* [x] Ready for validate workflow.


---

# 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/sessions/phase12-session02-release-closeout-and-rollout-readiness/rollout-readiness-checklist.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.
