Step 5 - Commit and install
Goal: move the reviewed draft out of the disposable .alloy-output/ and into your committed .alloy/. One command installs; you commit - the one act that is always yours.
Run:
alloy install-draftIt gates on a green draft (no untriaged candidates - resolve any with a unit definition or an exclude entry first), then weaves each draft file into the frame - all additive, deterministic, no agent:
| Draft file | Installs into |
|---|---|
source-entry.yaml | .alloy/alloy.config.yaml, replacing the placeholder discovery block (the source stays self: true, corpusRoot stays .alloy/corpus); the # TODO(survey) comments are removed |
rulepacks/* | .alloy/rulepacks/ (packs and their templates) |
manifest-categories.yaml | .alloy/corpus/meta/corpus-manifest.yaml, under sources.<name>.categories |
units.yaml (if present) | .alloy/units.yaml, with inventoryPath set on the entry |
If a source is already installed, install-draft refuses unless you pass --force.
The verification report
Then ask the agent to verify the installed config and read the results back to you:
alloy discover- the units the installed config declares. It should list exactly what you settled on in step 4; make the agent show you the list.alloy status- coverage, drift, staleness. Findings exit 0 - it is a report, never a gate.
Commit
On a branch, yours to make:
git checkout -b feat/alloy-knowledge-base
git add .alloy && git commit -m "feat: install alloy knowledge base config"You now have a committed corpus config and an empty corpus. The next step fills it.
Optional: self-updating CI
Ask the agent to scaffold the CI (alloy init --ci). It writes three workflows, never clobbering an existing alloy-*.yml: daily drift detection into one pinned issue, a weekly propose run that opens one human-merged PR, and corpus validation on every PR touching .alloy/**. Detection and proposal automate; merging never does.
This scaffolds GitHub Actions only - GitLab CI, Bitbucket Pipelines and the rest are a future step. On another platform you would wire the same alloy commands into your own pipeline by hand. None of this changes the local workflow, which is identical everywhere.
Next: step 6 - Run a campaign.