Close out the D&D deployment playbook feature

This commit is contained in:
2026-09-21 14:19:47 +00:00
parent a231b57294
commit 58738e4efc
3 changed files with 24 additions and 201 deletions

View File

@@ -1,193 +1,12 @@
# Implementation Plan 0016: Prepare the D&D Deployment Playbook
# Implementation Plan
Status: in_progress
No implementation plan is currently active. Select and agree on the next unit
of work before replacing this notice with its staged plan.
Target executor: GPT-5.6-Terra
Feature 0016 is complete. Its durable scope and completion evidence are in
[the feature roadmap](features/0016-deploy-dnd-pipeline-to-pipeline-dnd.md)
and [workspace status](../status.md). Git history preserves the completed plan.
Feature roadmap: `docs/roadmap/features/0016-deploy-dnd-pipeline-to-pipeline-dnd.md`
Active plan location: `docs/roadmap/implementation.md`
## Objective
Finish and commit repository preparation in `rakestraw-ansible`: minimal
playbook, host variables with comments for unknown values, reviewed dependency
pins, and concise operator instructions. This revision supersedes all previous
deployment and live-acceptance stages. Do not execute them.
## Execution Rules
- Execute the stages below in order, rereading each stage's listed policies.
Check working trees first, preserve unrelated work, validate, and commit each
completed unit with its stated plain-English intent.
- Do not deploy to an operational controller or target, connect to the target,
populate actual credentials, or run a real pipeline session.
- Missing controller, SSH, Vault, and session inputs are not blockers. Express
unknown required values through commented instructions and variable references.
- Keep playbooks limited to hosts and roles. No new tasks, wrapper, probes,
runtime assertions, or automated test harness is required.
- Use existing workspace `.venv/bin` executables for local Ansible checks.
Core 2.21.3 is installed; a missing `PATH` entry or `/etc/ansible` directory
does not mean tooling is missing. Explicit local paths suffice.
- Reuse passing validation whose inputs are unchanged. Optional diagnostics
and `ansible-doc` documentation rendering are not acceptance gates.
- Keep credential values out of plaintext files, Git, commands, and logs.
Do not create fake keys or an empty Vault file to satisfy inventory references.
## Starting State and Repository Scope
- Feature 0015 is complete and independently reviewed.
- Consumer `716a80e` added the initial runbook; `12b2462` committed the new
playbook, host configuration, and dependencies. Inspect intervening commits;
do not repeat or discard completed work.
- Public dependency installation, target-only host listing, and syntax checking
passed for the prepared consumer configuration. The missing option descriptions
in three roles affect `ansible-doc` only and are not part of this feature.
- `rakestraw-ansible` owns remaining comments/runbook changes. The workspace
owns status and review handoff. All other repositories remain read-only.
- No credentials, controller access, target access, or session selection is
needed to complete this plan.
## Stage 1: Finish Consumer Comments and Usage Documentation
Completion: complete (consumer `7f8353d74efabb5ae408e41be9837df53010dd95`)
### Objective and Owning Repository
Make the existing committed consumer configuration self-explanatory in
`rakestraw-ansible` and remove live execution as a completion requirement.
### Required Policy Review
Before this stage, read `AGENTS.md`, `docs/orientation.md`,
`docs/conventions.md`, `docs/ansible.md`, `docs/testing.md`,
`docs/planning.md`, the Feature 0016 roadmap, and the consumer README/runbook.
### Preconditions
Inspect the current consumer changes and the two completed commits above.
Local Ansible tools are available. There are no remote prerequisites.
### Required Changes
1. Retain `playbooks/pipeline/dnd.yml`, which contains only the `pipeline-dnd`
host and `rakestraw.dnd.pipeline` role. Retain reviewed dependency pins and
known host values. Compare against the revised roadmap; correct only actual
discrepancies, without adding suite-default copies or extra play content.
2. In `inventory/host_vars/pipeline-dnd/narratio.yml`, add the roadmap's comments
beside `dnd_pipeline_secrets`: define the four referenced `vault_dnd_*`
variables in an encrypted `vault.yml` before eventual deployment. Retain
unresolved references. Do not obtain secret values or create a Vault file.
3. Revise `docs/pipeline-dnd.md` to describe repository preparation as the
completed deliverable. Clearly label installation, credential provisioning,
and deployment commands as future operator instructions, not steps the
implementation agent must execute. Remove operational prerequisite checklists
and session-acceptance requirements from this feature's completion path.
4. Retain useful concise future-use instructions: the pinned collection refresh,
Vault variable names and selection options, and minimal playbook invocation.
Link application documentation for later pipeline operation rather than
maintaining a live-session test script or demanding session selection now.
5. Preserve connection inventory, unrelated dependencies, and the historical
proof-of-concept playbook/role.
### Validation
Run `git diff --check` in `rakestraw-ansible` and review the changed documentation
and comments. Reuse the recorded successful public installation, syntax, and
host-listing results if only comments/documentation change. No runtime tests
or repeated dependency installation are necessary for those edits.
If executable configuration changes, rerun only affected local checks using
the workspace tools and explicit local inventory/dependency paths:
```text
ansible-playbook -i inventory playbooks/pipeline/dnd.yml --limit pipeline-dnd --list-hosts
ansible-playbook -i inventory playbooks/pipeline/dnd.yml --limit pipeline-dnd --syntax-check
```
Use previously installed isolated public dependencies when available. If needed,
install from `requirements.yml` into disposable local role/collection paths.
Do not use operational `/etc/ansible` destinations or local sibling role
sources. Keep unresolved credentials untouched; local syntax checking does
not claim they resolve. If unrelated encrypted inventory prevents a local
check, use a disposable inventory containing the target alias and non-secret
variables, and report that narrower validation scope.
### Completion Criteria
The required public files exist, unknown values have explanatory comments,
local validation evidence is sufficient, and the consumer changes are committed.
No deployment or real credential provisioning is required.
### Commit
`Document the remaining D&D deployment inputs`.
## Stage 2: Record the Repository Preparation Handoff
Completion: complete (handoff recorded by this change)
### Objective and Owning Repository
Record Feature 0016 implementation readiness for independent review in the
workspace, scoped entirely to committed repository content.
### Required Policy Review
Before this stage, read `AGENTS.md`, `docs/orientation.md`,
`docs/conventions.md`, `docs/testing.md`, `docs/planning.md`, and the revised
Feature 0016 roadmap.
### Preconditions
Stage 1 has passed local validation and is committed. No remote prerequisites.
### Required Changes
1. Update `docs/status.md` and this plan's progress notes with the consumer
commit and local validation evidence. Describe real deployment as separately
deferred operator work, not a blocker or incomplete acceptance criterion.
2. Keep Feature 0016 `in_progress` pending independent review. Report any actual
repository issues; do not mark it `done` solely because implementation ended.
3. Confirm the feature's owning working trees are clean after committing.
Preserve any unrelated changes and identify them instead of discarding them.
### Validation and Completion Criteria
Run `git diff --check`. Evidence points to committed consumer content and
appropriate local checks. The handoff makes no claims of live deployment or
runtime acceptance. No paid request or host access is necessary.
### Commit
`Record D&D playbook preparation for review`.
## Final Validation and Handoff
Report owning commits, changed consumer files, comments explaining missing
values, and local validation performed or reused. Feature review evaluates the
committed playbook/configuration, not operational deployment. No push is
required unless separately requested.
## Progress Notes
- Consumer `716a80e` added the initial runbook, and `12b2462` committed the
minimal playbook, public host choices, and reviewed dependency manifest.
Public dependency installation from the mixed manifest succeeded, host
listing selected only `pipeline-dnd`, and syntax checking passed.
- Stage 1 is complete in consumer commit
`7f8353d74efabb5ae408e41be9837df53010dd95`. The plaintext inventory now
explains its unresolved Vault references, and the runbook distinguishes the
completed repository preparation from future operator installation,
credential provisioning, deployment, and application operation.
- Stage 1 changed only comments and documentation, so the prior installation,
host-listing, and syntax evidence was reused as directed. `git diff --check`
passed, and the consumer working tree is clean.
- Stage 2 records the implementation handoff for independent review. No live
deployment, target validation, credential provisioning, or pipeline session
was performed or is claimed by Feature 0016.
## Open Questions
None required for this repository-only implementation. Unknown API keys and
future operational inputs are documented for the operator, not requested now.
Completion covers the committed deployment playbook, host configuration,
dependency manifest, and operator documentation—not deployment or runtime
acceptance on the operational host.