@adia-ai/adia-ui-forge 0.1.3 → 0.8.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/.claude-plugin/plugin.json +3 -6
- package/CHANGELOG.md +27 -34
- package/README.md +35 -40
- package/agents/a2ui-engineer.md +22 -53
- package/agents/component-author.md +29 -0
- package/agents/framework-verifier.md +26 -0
- package/agents/release-engineer.md +21 -81
- package/agents/routing-corpus.json +293 -64
- package/bin/demo-postwrite-pattern-gate +94 -0
- package/bin/forge-lint +17 -2
- package/bin/sidecar-prewrite-guard +104 -0
- package/commands/deploy.md +9 -0
- package/commands/dogfood.md +10 -0
- package/commands/gen-review.md +9 -0
- package/commands/release.md +10 -0
- package/hooks/hooks.json +15 -0
- package/package.json +3 -6
- package/references/contracts/a2ui-mcp-surface.md +35 -0
- package/references/contracts/migration-guide-format.md +34 -0
- package/references/shared/content-trust.md +19 -74
- package/skills/adia-a2ui/SKILL.md +99 -0
- package/skills/{adia-ui-a2ui → adia-a2ui}/evals/routing-corpus.json +10 -10
- package/skills/adia-a2ui/references/anti-patterns.md +27 -0
- package/skills/adia-a2ui/references/chunk-authoring.md +71 -0
- package/skills/adia-a2ui/references/corpus-discipline.md +68 -0
- package/skills/adia-a2ui/references/eval-diagnostics.md +86 -0
- package/skills/adia-a2ui/references/format-extension-decisions.md +66 -0
- package/skills/adia-a2ui/references/leverage-rules.md +52 -0
- package/skills/adia-a2ui/references/mcp-pipeline-ops.md +83 -0
- package/skills/adia-a2ui/references/mcp-tool-reference.md +59 -0
- package/skills/adia-a2ui/references/pipeline-overview.md +115 -0
- package/skills/adia-a2ui/references/semantic-fail-lifting.md +74 -0
- package/skills/adia-a2ui/references/strategy-engines.md +109 -0
- package/skills/adia-a2ui/references/zettel-calibration.md +104 -0
- package/skills/adia-author/SKILL.md +112 -0
- package/skills/adia-author/evals/routing-corpus.json +222 -0
- package/skills/{adia-ui-authoring → adia-author}/references/anti-patterns.md +33 -4
- package/skills/{adia-ui-authoring → adia-author}/references/authoring-cycle.md +9 -11
- package/skills/adia-author/references/canonical-pattern-index.md +243 -0
- package/skills/{adia-ui-authoring → adia-author}/references/code-style.md +19 -21
- package/skills/adia-author/references/common-gotchas.md +129 -0
- package/skills/adia-author/references/composite-demo-protocol.md +271 -0
- package/skills/{adia-ui-authoring → adia-author}/references/css-patterns.md +19 -6
- package/skills/{adia-ui-authoring → adia-author}/references/lifecycle-patterns.md +1 -0
- package/skills/{adia-ui-authoring → adia-author}/references/llm-bridge.md +3 -5
- package/skills/{adia-ui-authoring → adia-author}/references/module-promotion.md +20 -38
- package/skills/{adia-ui-authoring → adia-author}/references/primitive-audit.md +2 -4
- package/skills/{adia-ui-authoring → adia-author}/references/shell-patterns.md +12 -18
- package/skills/{adia-ui-authoring → adia-author}/references/token-contract.md +5 -7
- package/skills/{adia-ui-authoring → adia-author}/references/worked-example.md +3 -3
- package/skills/{adia-ui-authoring → adia-author}/references/yaml-contract.md +3 -3
- package/skills/{adia-ui-authoring → adia-author}/scripts/build-canonical-pattern-index.mjs +3 -3
- package/skills/adia-deploy/SKILL.md +128 -0
- package/skills/{adia-ui-ops → adia-deploy}/references/deploy-playbooks.md +47 -30
- package/skills/adia-dogfood/SKILL.md +124 -0
- package/skills/adia-dogfood/references/admin-shell-anatomy.md +77 -0
- package/skills/adia-dogfood/references/app-shell-pitfalls.md +66 -0
- package/skills/adia-dogfood/references/card-anatomy-sweep.md +66 -0
- package/skills/adia-dogfood/references/html-attr-sweep.md +63 -0
- package/skills/adia-dogfood/references/native-leak-annotations.md +73 -0
- package/skills/adia-dogfood/references/visual-probe-triage.md +80 -0
- package/skills/{adia-ui-dogfood → adia-dogfood}/scripts/analyze.mjs +30 -14
- package/skills/adia-gen-review/SKILL.md +127 -0
- package/skills/adia-gen-review/references/corpus-html-patterns.md +279 -0
- package/skills/adia-gen-review/references/loop-protocol.md +216 -0
- package/skills/adia-gen-review/references/rubric-cosmetic.md +100 -0
- package/skills/adia-gen-review/references/rubric-decompose.md +101 -0
- package/skills/adia-gen-review/references/rubric-score.md +214 -0
- package/skills/{adia-ui-gen-review → adia-gen-review}/references/scores.schema.json +2 -2
- package/skills/{adia-ui-gen-review → adia-gen-review}/scripts/gen-review-coverage-audit.mjs +4 -4
- package/skills/{adia-ui-gen-review → adia-gen-review}/scripts/gen-review-decompose.mjs +10 -6
- package/skills/{adia-ui-gen-review → adia-gen-review}/scripts/gen-review-status.mjs +5 -5
- package/skills/{adia-ui-gen-review → adia-gen-review}/scripts/validate-cycle-scores.mjs +5 -5
- package/skills/adia-llm-internals/SKILL.md +77 -0
- package/skills/{adia-ui-llm → adia-llm-internals}/references/adapter-contract.md +4 -2
- package/skills/{adia-ui-llm → adia-llm-internals}/references/add-a-provider.md +4 -5
- package/skills/{adia-ui-llm → adia-llm-internals}/references/bridge-facade.md +10 -3
- package/skills/{adia-ui-llm → adia-llm-internals}/references/browser-proxy-boundary.md +1 -1
- package/skills/{adia-ui-llm → adia-llm-internals}/references/model-registry.md +5 -3
- package/skills/{adia-ui-llm → adia-llm-internals}/references/streaming-sse.md +2 -2
- package/skills/adia-release/SKILL.md +72 -0
- package/skills/adia-release/references/changelog-discipline.md +119 -0
- package/skills/adia-release/references/cut-procedure.md +247 -0
- package/skills/adia-release/references/gates-catalog.md +222 -0
- package/skills/adia-release/references/independent-package-release.md +52 -0
- package/skills/adia-release/references/migration-guide-authoring.md +86 -0
- package/skills/adia-release/references/notes-authoring.md +90 -0
- package/skills/adia-release/references/recovery-paths.md +106 -0
- package/skills/{adia-ui-release → adia-release}/scripts/bump.mjs +27 -2
- package/skills/{adia-ui-release → adia-release}/scripts/dispatch-publish.mjs +4 -1
- package/skills/{adia-ui-release → adia-release}/scripts/insert-stub.mjs +1 -1
- package/skills/{adia-ui-release → adia-release}/scripts/package-paths.mjs +6 -0
- package/skills/{adia-ui-release → adia-release}/scripts/promote-unreleased.mjs +1 -1
- package/skills/{adia-ui-release → adia-release}/scripts/release-pack.mjs +13 -21
- package/skills/{adia-ui-release → adia-release}/scripts/tag-lockstep.mjs +5 -1
- package/skills/adia-site-docs/SKILL.md +68 -0
- package/skills/adia-site-docs/evals/audit-report.md +30 -0
- package/skills/adia-site-docs/evals/routing-corpus.json +176 -0
- package/skills/adia-site-docs/intent.md +72 -0
- package/agents/README.md +0 -209
- package/agents/author.md +0 -56
- package/agents/repo-steward.md +0 -56
- package/agents/spec-architect.md +0 -53
- package/agents/tech-lead.md +0 -57
- package/agents/verifier.md +0 -55
- package/bin/lib/audit-axes.mjs +0 -555
- package/bin/lib/dry-run-irreversible.mjs +0 -236
- package/bin/lib/run-skill-evals.mjs +0 -487
- package/bin/lib/teach-router.mjs +0 -250
- package/commands/adia-forge-a2ui.md +0 -10
- package/commands/adia-forge-author.md +0 -10
- package/commands/adia-forge-dogfood.md +0 -8
- package/commands/adia-forge-llm.md +0 -8
- package/commands/adia-forge-orient.md +0 -10
- package/commands/adia-forge-release.md +0 -8
- package/commands/adia-forge-review.md +0 -10
- package/references/shared/pev-rationale.md +0 -64
- package/references/shared/skill-conventions.md +0 -133
- package/skills/adia-ui-a2ui/CHANGELOG.md +0 -32
- package/skills/adia-ui-a2ui/SKILL.md +0 -243
- package/skills/adia-ui-a2ui/evals/adversarial-corpus.json +0 -75
- package/skills/adia-ui-a2ui/evals/teach-routing-cases.json +0 -100
- package/skills/adia-ui-a2ui/references/anti-patterns.md +0 -24
- package/skills/adia-ui-a2ui/references/chunk-authoring.md +0 -88
- package/skills/adia-ui-a2ui/references/corpus-discipline.md +0 -56
- package/skills/adia-ui-a2ui/references/eval-diagnostics.md +0 -127
- package/skills/adia-ui-a2ui/references/fragment-graph.md +0 -91
- package/skills/adia-ui-a2ui/references/mcp-pipeline-ops.md +0 -106
- package/skills/adia-ui-a2ui/references/mcp-tool-reference.md +0 -398
- package/skills/adia-ui-a2ui/references/pipeline-overview.md +0 -175
- package/skills/adia-ui-a2ui/references/semantic-fail-lifting.md +0 -120
- package/skills/adia-ui-a2ui/references/strategy-engines.md +0 -111
- package/skills/adia-ui-a2ui/references/teach-protocol.md +0 -220
- package/skills/adia-ui-a2ui/references/zettel-calibration.md +0 -93
- package/skills/adia-ui-a2ui/scripts/audit-a2ui-roster.mjs +0 -96
- package/skills/adia-ui-a2ui/scripts/teach-route.mjs +0 -157
- package/skills/adia-ui-a2ui/skill.json +0 -38
- package/skills/adia-ui-authoring/CHANGELOG.md +0 -32
- package/skills/adia-ui-authoring/SKILL.md +0 -256
- package/skills/adia-ui-authoring/assets/case-studies/admin-shell-decomposition.md +0 -101
- package/skills/adia-ui-authoring/assets/case-studies/maxtokens-32768-discovery.md +0 -109
- package/skills/adia-ui-authoring/assets/case-studies/theme-panel-promotion.md +0 -113
- package/skills/adia-ui-authoring/evals/adversarial-design-plan-gates.json +0 -138
- package/skills/adia-ui-authoring/evals/routing-corpus.json +0 -245
- package/skills/adia-ui-authoring/references/canonical-pattern-index.md +0 -179
- package/skills/adia-ui-authoring/references/common-gotchas.md +0 -93
- package/skills/adia-ui-authoring/references/composite-demo-protocol.md +0 -1084
- package/skills/adia-ui-authoring/references/teach-protocol.md +0 -428
- package/skills/adia-ui-authoring/scripts/audit-authoring-roster.mjs +0 -148
- package/skills/adia-ui-authoring/skill.json +0 -45
- package/skills/adia-ui-dogfood/CHANGELOG.md +0 -17
- package/skills/adia-ui-dogfood/README.md +0 -62
- package/skills/adia-ui-dogfood/SKILL.md +0 -866
- package/skills/adia-ui-dogfood/skill.json +0 -40
- package/skills/adia-ui-forge/SKILL.md +0 -88
- package/skills/adia-ui-forge/evals/routing-corpus.json +0 -30
- package/skills/adia-ui-gen-review/CHANGELOG.md +0 -108
- package/skills/adia-ui-gen-review/SKILL.md +0 -266
- package/skills/adia-ui-gen-review/references/loop-protocol.md +0 -712
- package/skills/adia-ui-gen-review/references/rubric-cosmetic.md +0 -144
- package/skills/adia-ui-gen-review/references/rubric-decompose.md +0 -117
- package/skills/adia-ui-gen-review/references/rubric-score.md +0 -249
- package/skills/adia-ui-gen-review/references/teach-protocol.md +0 -214
- package/skills/adia-ui-gen-review/skill.json +0 -23
- package/skills/adia-ui-llm/CHANGELOG.md +0 -25
- package/skills/adia-ui-llm/SKILL.md +0 -165
- package/skills/adia-ui-llm/evals/adversarial-corpus.json +0 -75
- package/skills/adia-ui-llm/evals/routing-corpus.json +0 -30
- package/skills/adia-ui-llm/evals/teach-routing-cases.json +0 -73
- package/skills/adia-ui-llm/references/teach-protocol.md +0 -78
- package/skills/adia-ui-llm/scripts/audit-llm-roster.mjs +0 -93
- package/skills/adia-ui-llm/scripts/teach-route.mjs +0 -119
- package/skills/adia-ui-llm/skill.json +0 -33
- package/skills/adia-ui-ops/CHANGELOG.md +0 -291
- package/skills/adia-ui-ops/SKILL.md +0 -401
- package/skills/adia-ui-ops/references/INDEX.md +0 -158
- package/skills/adia-ui-ops/references/audit-cadence.md +0 -263
- package/skills/adia-ui-ops/references/audit-patterns/archive-link-sweep.md +0 -96
- package/skills/adia-ui-ops/references/audit-patterns/audit-history-ledger.md +0 -162
- package/skills/adia-ui-ops/references/audit-patterns/browser-bundle-node-imports.md +0 -154
- package/skills/adia-ui-ops/references/audit-patterns/changelog-unreleased-bloat.md +0 -75
- package/skills/adia-ui-ops/references/audit-patterns/coverage-gaps.md +0 -187
- package/skills/adia-ui-ops/references/audit-patterns/entry-file-coverage.md +0 -122
- package/skills/adia-ui-ops/references/audit-patterns/format-hygiene.md +0 -217
- package/skills/adia-ui-ops/references/audit-patterns/lockstep-versioning.md +0 -113
- package/skills/adia-ui-ops/references/audit-patterns/memory-fragmentation.md +0 -180
- package/skills/adia-ui-ops/references/audit-patterns/orphan-detection.md +0 -202
- package/skills/adia-ui-ops/references/audit-patterns/pointer-validation.md +0 -180
- package/skills/adia-ui-ops/references/audit-patterns/redundancy-detection.md +0 -210
- package/skills/adia-ui-ops/references/audit-patterns/spec-dating-sweep.md +0 -91
- package/skills/adia-ui-ops/references/audit-patterns/stale-content.md +0 -182
- package/skills/adia-ui-ops/references/audit-patterns/staleness-tooling.md +0 -156
- package/skills/adia-ui-ops/references/audit-patterns/token-waste-detection.md +0 -196
- package/skills/adia-ui-ops/references/doc-types/adr-pattern.md +0 -210
- package/skills/adia-ui-ops/references/doc-types/architecture-md.md +0 -190
- package/skills/adia-ui-ops/references/doc-types/changelog.md +0 -183
- package/skills/adia-ui-ops/references/doc-types/decisions-log.md +0 -146
- package/skills/adia-ui-ops/references/doc-types/plan-roadmap.md +0 -182
- package/skills/adia-ui-ops/references/doc-types/postmortem-pattern.md +0 -206
- package/skills/adia-ui-ops/references/genres/prose-and-writing.md +0 -149
- package/skills/adia-ui-ops/references/guidance/context-budget.md +0 -137
- package/skills/adia-ui-ops/references/guidance/llm-doc-writing.md +0 -116
- package/skills/adia-ui-ops/references/guidance/reliability-dial.md +0 -186
- package/skills/adia-ui-ops/references/recipes/adr-introduction.md +0 -211
- package/skills/adia-ui-ops/references/recipes/audit-existing-repo.md +0 -234
- package/skills/adia-ui-ops/references/recipes/cold-start-harvest.md +0 -263
- package/skills/adia-ui-ops/references/recipes/concurrent-learnings-merge.md +0 -158
- package/skills/adia-ui-ops/references/recipes/continuous-learning-loop.md +0 -169
- package/skills/adia-ui-ops/references/recipes/external-reference-verification.md +0 -158
- package/skills/adia-ui-ops/references/recipes/findings-index-readout.md +0 -126
- package/skills/adia-ui-ops/references/recipes/greenfield-setup.md +0 -252
- package/skills/adia-ui-ops/references/recipes/harvest-repo-brain.md +0 -169
- package/skills/adia-ui-ops/references/recipes/import-repo-brain-harvest.md +0 -153
- package/skills/adia-ui-ops/references/recipes/memory-organization.md +0 -182
- package/skills/adia-ui-ops/references/recipes/recommend-then-validate.md +0 -199
- package/skills/adia-ui-ops/references/recipes/self-healing-hooks.md +0 -366
- package/skills/adia-ui-ops/references/recipes/skill-stewardship-loop.md +0 -113
- package/skills/adia-ui-ops/references/standards/agents-md-spec.md +0 -138
- package/skills/adia-ui-ops/references/standards/claude-md-convention.md +0 -123
- package/skills/adia-ui-ops/references/standards/cross-tool-matrix.md +0 -85
- package/skills/adia-ui-ops/references/standards/readme-conventions.md +0 -232
- package/skills/adia-ui-ops/references/teach-protocol.md +0 -215
- package/skills/adia-ui-ops/scripts/audit-ops-roster.mjs +0 -104
- package/skills/adia-ui-ops/skill.json +0 -65
- package/skills/adia-ui-release/CHANGELOG.md +0 -66
- package/skills/adia-ui-release/SKILL.md +0 -323
- package/skills/adia-ui-release/assets/case-studies/2026-05-20-batch-push-v0.6.14-v0.6.15.md +0 -144
- package/skills/adia-ui-release/assets/case-studies/2026-05-20-corpus-drift-remediation-v0.6.15.md +0 -155
- package/skills/adia-ui-release/assets/case-studies/2026-05-20-version-skip-correction-v0.6.12.md +0 -114
- package/skills/adia-ui-release/assets/case-studies/2026-05-21-author-from-scratch-v0.6.18.md +0 -139
- package/skills/adia-ui-release/assets/case-studies/2026-05-21-feedback37-retraction-v0.6.21.md +0 -124
- package/skills/adia-ui-release/assets/case-studies/2026-05-21-fn1-enrichment-pass-v0.6.19.md +0 -125
- package/skills/adia-ui-release/assets/case-studies/2026-05-21-stale-test-detection-v0.6.20.md +0 -142
- package/skills/adia-ui-release/assets/case-studies/2026-05-23-freshness-gate-recovery-v0.6.32.md +0 -97
- package/skills/adia-ui-release/assets/case-studies/2026-05-26-catalog-drift-recurring-v0.6.40.md +0 -147
- package/skills/adia-ui-release/assets/templates/stub-changelog.template.md +0 -22
- package/skills/adia-ui-release/evals/evals.json +0 -164
- package/skills/adia-ui-release/references/changelog-discipline.md +0 -250
- package/skills/adia-ui-release/references/cycle-happy-path.md +0 -520
- package/skills/adia-ui-release/references/exe-deploy.md +0 -149
- package/skills/adia-ui-release/references/gates-catalog.md +0 -778
- package/skills/adia-ui-release/references/independent-package-release.md +0 -129
- package/skills/adia-ui-release/references/ledger-discipline.md +0 -232
- package/skills/adia-ui-release/references/migration-guide-authoring.md +0 -174
- package/skills/adia-ui-release/references/multi-agent-baseline.md +0 -207
- package/skills/adia-ui-release/references/notes-authoring.md +0 -212
- package/skills/adia-ui-release/references/recovery-paths.md +0 -262
- package/skills/adia-ui-release/references/rollup-notes.md +0 -208
- package/skills/adia-ui-release/references/teach-protocol.md +0 -468
- package/skills/adia-ui-release/scripts/audit-gate-roster.mjs +0 -196
- package/skills/adia-ui-release/scripts/make-ledger.mjs +0 -200
- package/skills/adia-ui-release/skill.json +0 -77
- package/skills/dogfood-sweep/CHANGELOG.md +0 -37
- package/skills/dogfood-sweep/README.md +0 -105
- package/skills/dogfood-sweep/SKILL.md +0 -1000
- package/skills/dogfood-sweep/analyze.mjs +0 -600
- package/skills/dogfood-sweep/skill.json +0 -31
- /package/skills/{adia-ui-authoring → adia-author}/references/api-contract.md +0 -0
- /package/skills/{adia-ui-release → adia-release}/scripts/assert-monorepo-root.mjs +0 -0
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
# `exe-deploy.md` — site build + deploy + version-verify
|
|
2
|
-
|
|
3
|
-
> Loaded by mode 1 Step 10. Long-running VM ops (provision, restart, key rotation, etc.) are a **separate ops concern** — out of scope for this skill and not shipped in this plugin. This file is the release-cycle's deploy tenant only: site build → rsync → verify.
|
|
4
|
-
|
|
5
|
-
> **Worked example — the @adia-ai monorepo's demo-site deploy.** The concrete host (`ui-kit.exe.xyz`, a shared Linux VM on exe.dev), the `rsync … :/srv/adia-ui/dist/` target, and the SPA-route trap below are **the worked example** drawn from the @adia-ai monorepo. They are NOT universal. The portable DISCIPLINE is: (1) build the site from the working tree, (2) stash peer-in-flight strays before deploy so the deployed site matches the just-published packages, (3) verify deployed **files** (not SPA routes — see the trap below), (4) restore the stash after. Substitute your monorepo's own demo-site host + transport.
|
|
6
|
-
|
|
7
|
-
The @adia-ai demo site is served from `ui-kit.exe.xyz` (a shared Linux VM on exe.dev). Every release cycle ends with a site deploy so the live demos reflect the just-shipped npm packages.
|
|
8
|
-
|
|
9
|
-
The site is a **living HEAD demo**, not version-pinned. It tracks main
|
|
10
|
-
|
|
11
|
-
- the working tree's demo HTML. This is by design — readers expect the demos to evolve.
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## §The 3-step deploy
|
|
16
|
-
|
|
17
|
-
### Step 1 — Build the site locally
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
npm run build:site 2>&1 | tail -2
|
|
21
|
-
# Expected: "done — NNNNN files, NN.N MB, NNNNms"
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
`scripts/build/site.mjs` is the site builder. It:
|
|
25
|
-
|
|
26
|
-
- Copies `site/`, `apps/`, `playgrounds/`, `catalog/` into `dist/`
|
|
27
|
-
- Generates per-component reference pages from yaml
|
|
28
|
-
- Copies the 9 `@adia-ai/*` packages' `dist/` into `dist/packages/`
|
|
29
|
-
- Symlinks `node_modules/@adia-ai/*` for bare-specifier resolution
|
|
30
|
-
- Copies CodeMirror 6 runtime, 2 third-party root deps + 4 transitive
|
|
31
|
-
- Injects importmap into 268+ HTML files
|
|
32
|
-
|
|
33
|
-
If `build:site` fails, **stop** — don't deploy. Common failure:
|
|
34
|
-
|
|
35
|
-
- A `<script>` reference to a non-existent file (often a demo .html referencing a primitive whose path moved).
|
|
36
|
-
- A symlink resolution failure (run `npm install` in the worktree if this is a fresh checkout — see `feedback_worktree_node_modules_silent_glob`).
|
|
37
|
-
|
|
38
|
-
### Step 2 — Stash strays before deploy
|
|
39
|
-
|
|
40
|
-
**Critical**: the site build runs from the WORKING TREE, not from a git tag. If you have stashed peer-in-flight files at Step 2 of the cycle (per `multi-agent-baseline.md` § Discipline 4), KEEP THEM STASHED through the deploy. The deployed site should match v0.X.Y's npm packages exactly — peer-in-flight uncommitted files would leak.
|
|
41
|
-
|
|
42
|
-
If any uncommitted source files appeared mid-cycle (concurrent peer activity), classify them per `multi-agent-baseline.md` § Discipline 2 BEFORE deploying. Decision:
|
|
43
|
-
|
|
44
|
-
- **Release-relevant + matches CHANGELOG** — could include (rare; peer finished documenting just-in-time)
|
|
45
|
-
- **Release-relevant + contradicts CHANGELOG** — STASH; deploy without
|
|
46
|
-
- **Future-release work** — STASH; deploy without
|
|
47
|
-
- **Ticket-lane / skill / journal** — they don't affect the site build's output materially, leave or stash per taste
|
|
48
|
-
|
|
49
|
-
When in doubt, stash. The deploy then reflects pure committed state.
|
|
50
|
-
|
|
51
|
-
### Step 3 — Rsync to EXE + verify
|
|
52
|
-
|
|
53
|
-
> **⚠️ curl-200 on a `/site/<route>` path proves NOTHING (v0.7.4 incident).** The docs site is a **client-side-routed SPA**: the server returns the same ~5 KB `index.html` shell (`<title>AdiaUI Docs</title>`) for **every** path with HTTP 200, then `site.js` renders `#router` from `site/sitemap.json`. An **unmatched** route renders **blank** — still 200. In v0.7.4 the deploy-verify (and the release notes) cited `https://ui-kit.exe.xyz/site/gen-ui/` and `/site/components/theme-panel` — **neither is a sitemap route** — got 200, and reported "renders". Both were blank. The real routes are `/site/playground/gen-ui`, `/site/examples/gen-ui-feed`, `/site/components/<slug>`. **Verify deployed FILES, not SPA routes**, per below.
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
rsync -az --delete "$REPO/dist/" \
|
|
57
|
-
ui-kit.exe.xyz:/srv/adia-ui/dist/ 2>&1 | tail -1
|
|
58
|
-
|
|
59
|
-
# (a) Service up + build deployed — curl a CONTENT FILE (returns its OWN
|
|
60
|
-
# bytes, not the SPA shell). A 404 here is a REAL deploy failure.
|
|
61
|
-
curl -s -o /dev/null -w "host.css: HTTP %{http_code}\n" \
|
|
62
|
-
https://ui-kit.exe.xyz/packages/web-components/styles/host.css # expect 200
|
|
63
|
-
|
|
64
|
-
# (b) A demo/content artifact for THIS cycle — assert REAL content, not the
|
|
65
|
-
# 5 KB "AdiaUI Docs" shell. grep a string only the real file contains:
|
|
66
|
-
curl -s https://ui-kit.exe.xyz/apps/genui/app/gen-ui/gen-ui.html \
|
|
67
|
-
| grep -q "Gen UI Canvas" && echo "gen-ui content OK" || echo "gen-ui MISSING"
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**Verify checklist (FILES, not routes):**
|
|
71
|
-
|
|
72
|
-
- HTTP 200 on a deployed **asset** (`/packages/web-components/styles/host.css`) — confirms the rsync landed + the service serves files.
|
|
73
|
-
- The cycle's substantive change has its **content file** deployed with real bytes (grep a unique string; size ≠ ~5 KB shell):
|
|
74
|
-
- Component changed? `…/packages/web-components/components/<name>/<name>.html`
|
|
75
|
-
- Module/shell changed? `…/packages/web-modules/<cluster>/<name>/<name>.html`
|
|
76
|
-
- Standalone docs page? Its `content:` source from sitemap.json, e.g. `…/apps/genui/app/gen-ui/gen-ui.html`
|
|
77
|
-
- To cite a **docs route** (in notes or to the operator), it MUST exist in `site/sitemap.json` (`grep '"path": "/site/…"'`) **and** its `content:` / standalone source must be deployed. A route absent from the sitemap renders blank.
|
|
78
|
-
- **For true render proof** (not just "file deployed"), run a headless probe — `scripts/qa/*-probe.mjs` — that asserts `#router` has children + 0 console errors. curl can't see client-side render.
|
|
79
|
-
|
|
80
|
-
If any HTTP returns non-200, **don't panic** — the deploy might be mid-replication. Wait 30 seconds and re-curl. If still failing, check:
|
|
81
|
-
|
|
82
|
-
1. Did `rsync` actually transfer? Re-run the rsync; look at the transfer count in the output.
|
|
83
|
-
2. Is the demo-site service up? `curl -I https://ui-kit.exe.xyz/` should return 200. If not, the VM itself is down — that's a long-running-ops concern (separate from this skill; out of scope).
|
|
84
|
-
3. Is the new path missing from `dist/`? `find dist/<path>` should list the file. If not — `build:site` didn't generate it (the gen-UI new-primitive case — site/sitemap.json may need an entry; see `feedback_build_site_dist_gap_after_package_change`).
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## §Site build invariants
|
|
89
|
-
|
|
90
|
-
These hold across every cycle:
|
|
91
|
-
|
|
92
|
-
1. **`dist/site/sitemap.json`** is the live demo manifest. The site home page reads it; entries with missing files render as 404.
|
|
93
|
-
2. **`dist/node_modules/@adia-ai/*`** are symlinks to `dist/packages/*`. The importmap depends on them.
|
|
94
|
-
3. **HTML files get the importmap injected** at build time (~268 files in the current site). Skipped: files that already have one, or files without `<head>`.
|
|
95
|
-
4. **CodeMirror 6 runtime ships with `<code-ui>`** — copied to `dist/packages/web-components/components/code/` (12 files, ~555 KB min).
|
|
96
|
-
5. **`dist/` is reproducible** — running `npm run build:site` twice should produce identical output (modulo timestamps).
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
## §EXE deploy invariants
|
|
101
|
-
|
|
102
|
-
These are EXE-specific concerns:
|
|
103
|
-
|
|
104
|
-
1. **The remote target is `ui-kit.exe.xyz:/srv/adia-ui/dist/`** for the @adia-ai monorepo — wired into nginx vhost config on the VM, so don't change it for that deploy. The host is the worked-example default; `release-pack.mjs` exposes it as `--host <deploy-host>` (or `$ADIA_DEPLOY_HOST`), defaulting to `ui-kit.exe.xyz`, so a forked lockstep monorepo can point rsync + the curl verify at its own demo host without editing the script.
|
|
105
|
-
2. **`rsync -az --delete`** is the canonical command. The `--delete` flag removes files on the remote that aren't in the local `dist/`. This is what keeps stale demos from accumulating.
|
|
106
|
-
3. **SSH access** is operator-owned (kimba's SSH key). The skill doesn't manage credentials.
|
|
107
|
-
4. **HTTPS termination** is handled by exe.dev; the VM serves HTTP. Trust the cert chain.
|
|
108
|
-
5. **For per-package CLI version verification** — the v0.6.7 `bin/` added `adia-ui-doc` CLI; for cycles that touch `packages/<pkg>/bin/`, verify the published CLI works after deploy:
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
npx @adia-ai/web-components@X.Y.Z adia-ui-doc <component>
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## §When deploy is NOT clean
|
|
117
|
-
|
|
118
|
-
If `build:site` fails or `rsync` errors or `curl` returns non-200:
|
|
119
|
-
|
|
120
|
-
1. **Don't immediately re-deploy** — diagnose first.
|
|
121
|
-
2. The v0.X.Y release is ALREADY SHIPPED to npm at this point (the deploy runs after publish in Step 10). The site lag is recoverable; the npm publishes aren't.
|
|
122
|
-
3. Common recovery paths:
|
|
123
|
-
- **Site build error** — fix the source issue (often a typo in a demo .html or a missing primitive registration), re-build, re-deploy.
|
|
124
|
-
- **rsync hung / SSH refused** — VM rebooting? Check `https://ui-kit.exe.xyz/` directly; if up, retry rsync. If down, the VM is a long-running-ops concern (separate from this skill; out of scope).
|
|
125
|
-
- **HTTP 404 on a new path** — `sitemap.json` may not have the new entry, OR the build's file-copy missed a per-package path (memory: `feedback_build_site_dist_gap_after_package_change`).
|
|
126
|
-
4. Log the deploy issue in the ledger's `notes` array even if the release shipped to npm successfully.
|
|
127
|
-
|
|
128
|
-
---
|
|
129
|
-
|
|
130
|
-
## §Stash restoration AFTER deploy
|
|
131
|
-
|
|
132
|
-
If you stashed files at the start of the cycle (Step 2) OR mid-cycle (post-publish, pre-deploy), restore them after the deploy completes:
|
|
133
|
-
|
|
134
|
-
```bash
|
|
135
|
-
git -C $REPO stash pop 2>&1 | tail -3
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
If `pop` reports "Dropped stash@{0}" — clean restore, you're done.
|
|
139
|
-
|
|
140
|
-
If it reports "kept the stash" — there's a conflict. The working tree moved while you were releasing (typically a concurrent peer made changes). Investigate per `recovery-paths.md` § Scenario 6 (concurrent peer mid-cycle).
|
|
141
|
-
|
|
142
|
-
---
|
|
143
|
-
|
|
144
|
-
## §When this reference is "done v1"
|
|
145
|
-
|
|
146
|
-
- Every cycle's site deploy completes with a single HTTP 200 verify
|
|
147
|
-
- (optional) demo-route verify.
|
|
148
|
-
- Stash discipline is followed across cycles — the deployed site matches the v0.X.Y tag's tree, modulo intentional living-HEAD demo updates.
|
|
149
|
-
- Deploy failures route through this file's "When deploy is NOT clean" decision tree without operator improvisation.
|