omp-conductor 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +549 -234
- package/package.json +8 -5
- package/schema/config.schema.json +609 -0
- package/src/availability.ts +165 -0
- package/src/board.ts +19 -32
- package/src/brief-upgrade.ts +1 -1
- package/src/briefs/orchestrator.md +72 -31
- package/src/briefs/policy.md +48 -36
- package/src/briefs/probes/gates.md +51 -0
- package/src/briefs/probes/project-context.md +59 -0
- package/src/briefs/probes/release-procedure.md +81 -0
- package/src/cli.ts +356 -212
- package/src/config-schema.ts +352 -0
- package/src/config.ts +1037 -679
- package/src/confinement.ts +54 -0
- package/src/daemon.ts +644 -390
- package/src/diff-flags.ts +73 -4
- package/src/digest-schedule.ts +92 -24
- package/src/escalate.ts +89 -22
- package/src/fleet.ts +351 -46
- package/src/generate-schema.ts +21 -0
- package/src/graph.ts +3 -3
- package/src/host.ts +16 -0
- package/src/omp.ts +21 -1
- package/src/orchestrator-tick.ts +732 -56
- package/src/privileged.ts +264 -0
- package/src/reports.ts +203 -6
- package/src/session-host.ts +3 -0
- package/src/setup-host.ts +209 -24
- package/src/setup-install.ts +320 -0
- package/src/setup-probe.ts +412 -0
- package/src/setup-wizard.ts +1946 -0
- package/src/setup.ts +457 -53
- package/src/store.ts +610 -98
- package/src/tracker/github.ts +43 -5
- package/src/types.ts +153 -14
- package/src/upgrade.ts +44 -10
- package/src/verbs/actions.ts +131 -13
- package/src/verbs/server.ts +40 -18
- package/src/wizard-ui.ts +249 -0
- package/src/worker.ts +24 -7
- package/skills/conductor-onboarding/SKILL.md +0 -748
- package/skills/conductor-update/SKILL.md +0 -51
- package/src/plugin.ts +0 -1495
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
You are reading one repository to turn an operator's stated release *intent* into
|
|
2
|
+
that repository's own machinery. You have been given reading tools only: there is no shell,
|
|
3
|
+
no editor and no verb here, so reading and answering is the whole of what you can
|
|
4
|
+
do.
|
|
5
|
+
|
|
6
|
+
## The one thing you must not do
|
|
7
|
+
|
|
8
|
+
**You are not deciding the release policy.** The operator has already decided it,
|
|
9
|
+
below. Your job is to find how this repository actually ships and express their
|
|
10
|
+
intent in its terms. Do not widen the boundary, do not add a step they did not
|
|
11
|
+
ask for, and do not write the procedure from the intent alone without reading the
|
|
12
|
+
repository — an invented procedure reads exactly like a real one and fails the
|
|
13
|
+
first time it is followed.
|
|
14
|
+
|
|
15
|
+
## Stated intent — given, not yours to revise
|
|
16
|
+
|
|
17
|
+
- **Where the orchestrator's leg ends:** {{BOUNDARY}}
|
|
18
|
+
- **What may be released, and from which branch:** {{WHAT}}
|
|
19
|
+
- **When — batched how, after which named checks:** {{WHEN}}
|
|
20
|
+
- **Proof that must be held first:** {{PROOF}}
|
|
21
|
+
- **What must still be asked, every time:** {{ASK}}
|
|
22
|
+
- **Permanently forbidden:** {{FORBIDDEN}}
|
|
23
|
+
- **A release worth cutting:** {{WORTH_CUTTING}}
|
|
24
|
+
- **Rollback owner:** {{ROLLBACK_OWNER}}
|
|
25
|
+
|
|
26
|
+
## Where you are, and what to read
|
|
27
|
+
|
|
28
|
+
Your working directory holds **one directory per routing repo**, each a shallow
|
|
29
|
+
clone. Release machinery does not always live in the repo you would expect, so look
|
|
30
|
+
across all of them before writing: the repo that ships may not be the first one.
|
|
31
|
+
|
|
32
|
+
Each routing key and the directory it was cloned into:
|
|
33
|
+
|
|
34
|
+
{{REPOS}}
|
|
35
|
+
|
|
36
|
+
**Name repos by their routing key, never by the directory.** The directory is
|
|
37
|
+
scratch and will not exist when anyone reads your answer; the key is what an issue
|
|
38
|
+
carries and what an orchestrator routes on.
|
|
39
|
+
|
|
40
|
+
In each, read the release workflows (`.github/workflows/*release*`, `*publish*`,
|
|
41
|
+
`*tag*`), the package manifest's version and publish configuration, any
|
|
42
|
+
`RELEASING.md` / `CONTRIBUTING.md` release section, and how a version is bumped.
|
|
43
|
+
|
|
44
|
+
For every workflow that publishes anything — a release, a tag, an image, a package,
|
|
45
|
+
a deployment — **the trigger is the fact that matters**:
|
|
46
|
+
|
|
47
|
+
- `workflow_dispatch` → the release is *dispatched*. That workflow is the authority,
|
|
48
|
+
and the instruction is "dispatch it with the planned version", never "do what it
|
|
49
|
+
does".
|
|
50
|
+
- `on: push: tags:` → a pushed tag is the trigger, so **tagging is releasing**.
|
|
51
|
+
- `on: release: published` → the GitHub Release is the trigger.
|
|
52
|
+
|
|
53
|
+
Also record **what the workflow enforces** — many reject a tag unless several
|
|
54
|
+
version files agree — because that is what turns a release attempt into a failure
|
|
55
|
+
an operator has to unpick.
|
|
56
|
+
|
|
57
|
+
Name the repo each step belongs to. A procedure that does not say where it runs is
|
|
58
|
+
one an orchestrator applies in the wrong checkout.
|
|
59
|
+
|
|
60
|
+
## What to write
|
|
61
|
+
|
|
62
|
+
- **The named authority, and how it is invoked.** If shipping is a protected or
|
|
63
|
+
dispatchable workflow, the instruction is to *dispatch it and verify the run* —
|
|
64
|
+
never to reproduce what it does by hand, even when every step is visible. A
|
|
65
|
+
hand-rolled release skips the checks the workflow exists to enforce.
|
|
66
|
+
- **The steps on the agent's side, each with the check that proves it.** A step
|
|
67
|
+
with no verifiable outcome is a step that silently did not happen.
|
|
68
|
+
- **The forbidden list, with a file citation** — cite the file that says so
|
|
69
|
+
(`AGENTS.md`, a runbook) so the rule survives a future session that thinks it has
|
|
70
|
+
found a shortcut. Force-push, secrets and production data are forbidden
|
|
71
|
+
everywhere, always, whether or not this repository restates them.
|
|
72
|
+
- **Where the leg ends**, restated as a concrete artefact or commit, matching the
|
|
73
|
+
boundary above.
|
|
74
|
+
|
|
75
|
+
If the repository has no release machinery at all, say that in one line rather
|
|
76
|
+
than inventing a plausible one. That is a finding the operator needs.
|
|
77
|
+
|
|
78
|
+
## Answer
|
|
79
|
+
|
|
80
|
+
One fenced markdown block containing the procedure and nothing else. No preamble,
|
|
81
|
+
no commentary after it.
|