|
| 1 | +# Misty Step Factory Fleet Integration Standard |
| 2 | + |
| 3 | +This standard applies to active `misty-step` organization projects. Harness Kit |
| 4 | +owns the routing doctrine; the product repos own their actual Canary, Powder, |
| 5 | +and Landmark integration surfaces. |
| 6 | + |
| 7 | +## Required Evidence |
| 8 | + |
| 9 | +Every active project must have a Powder representation: |
| 10 | + |
| 11 | +- Repos with `backlog.d` import active backlog files into Powder under the |
| 12 | + full repo label, for example `misty-step/canary`. |
| 13 | +- Repos without a local backlog root get a Powder seed card titled |
| 14 | + `Adopt Canary, Powder, and Landmark factory stack`. |
| 15 | +- Open GitHub issues are imported or mirrored as Powder cards so agents do not |
| 16 | + have to discover durable work from GitHub alone. |
| 17 | + |
| 18 | +Runtime projects must have Canary evidence: |
| 19 | + |
| 20 | +- A stable Canary service name. If the runtime service differs from the repo |
| 21 | + name, record the service mapping in `.canary/integration.json`. |
| 22 | +- HTTP runtimes expose or identify one production health URL and have live |
| 23 | + Canary target readback. |
| 24 | +- Worker, scheduler, CLI, or event-plane runtimes use Canary check-in |
| 25 | + monitors. |
| 26 | +- Application error paths report to Canary or carry an explicit gap card in |
| 27 | + Powder. Sentry-only coverage is not enough for Factory operation. |
| 28 | + |
| 29 | +Release-managed projects must have Landmark evidence: |
| 30 | + |
| 31 | +- Repos with existing release tooling or an existing release surface keep |
| 32 | + Landmark in manifest-only or synthesis-only mode unless the Landmark fleet |
| 33 | + plan recommends full release ownership. |
| 34 | +- Repos without release automation start with a `.landmark.yml` manifest and |
| 35 | + backfill-first plan. Do not add release mutation before operator-approved |
| 36 | + initial version/tag policy exists. |
| 37 | +- If `fleet plan` reports missing secret metadata, do not add a broken |
| 38 | + workflow. Track the secret gap in Powder and use manifest-only adoption until |
| 39 | + the secret policy is fixed. |
| 40 | + |
| 41 | +## Service Names |
| 42 | + |
| 43 | +Use the Canary service name from live readback, not the repo name guessed from |
| 44 | +the path: |
| 45 | + |
| 46 | +| Repo | Canary service | |
| 47 | +|---|---| |
| 48 | +| `misty-step/bitterblossom` | `bitterblossom-plane` | |
| 49 | +| `misty-step/brainrot` | `brainrot-publishing-house` | |
| 50 | +| `misty-step/chrondle` | `chrondle` | |
| 51 | +| `misty-step/linejam` | `linejam` | |
| 52 | +| `misty-step/memory-engine` | `memory-engine-api` | |
| 53 | +| `misty-step/misty-step` | `misty-step` | |
| 54 | +| `misty-step/powder` | `powder` | |
| 55 | +| `misty-step/sploot` | `sploot-web` | |
| 56 | +| `misty-step/vibe-machine` | `vibe-machine` | |
| 57 | + |
| 58 | +## Verification Commands |
| 59 | + |
| 60 | +Use these commands from local checkouts with credentials supplied by the |
| 61 | +environment or the Agents vault: |
| 62 | + |
| 63 | +```sh |
| 64 | +/Users/phaedrus/Development/canary/bin/canary integrate status /path/to/repo \ |
| 65 | + --service <canary-service> \ |
| 66 | + --production-url <health-url> \ |
| 67 | + --json |
| 68 | + |
| 69 | +/Users/phaedrus/Development/canary/bin/canary errors <canary-service> \ |
| 70 | + --window 1h --json |
| 71 | + |
| 72 | +/Users/phaedrus/Development/landmark/target/debug/landmark setup \ |
| 73 | + --repo-root /path/to/repo \ |
| 74 | + --dry-run --error-format json |
| 75 | + |
| 76 | +curl -fsS -H "Authorization: Bearer $POWDER_API_KEY" \ |
| 77 | + "$POWDER_API_BASE_URL/api/v1/cards?repo=misty-step%2F<repo>&limit=100" |
| 78 | +``` |
| 79 | + |
| 80 | +If the deployed Powder instance is reached through the local Fly proxy, use |
| 81 | +`http://127.0.0.1:14030` as the base URL until the public API route and |
| 82 | +repository summary endpoint are confirmed. |
| 83 | + |
| 84 | +## Waivers |
| 85 | + |
| 86 | +A waiver is allowed only when the project is not an active runtime or release |
| 87 | +surface. The waiver must live as a Powder card or repo file and say: |
| 88 | + |
| 89 | +- why Canary uptime/health/error logging does not apply; |
| 90 | +- where backlog state lives in Powder; |
| 91 | +- how Landmark release intelligence is intentionally deferred or not |
| 92 | + applicable. |
| 93 | + |
| 94 | +Do not call a project integrated because it has one of the three surfaces. |
| 95 | +Factory integration means all applicable surfaces are present and queryable. |
0 commit comments