@jstn-sdk/ma 0.1.4 → 0.1.5

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.
Files changed (112) hide show
  1. package/.codex/config.toml +2 -0
  2. package/.codex/hooks.json +1 -1
  3. package/.codex/prompts/enforcement.md +3 -3
  4. package/.codex/prompts/onboarding.md +14 -29
  5. package/README.md +129 -472
  6. package/bin/ma.js +103 -54
  7. package/docs/README.md +1 -2
  8. package/docs/getting-started.md +37 -402
  9. package/docs/mcp-setup.md +134 -3
  10. package/docs/onboarding.md +11 -41
  11. package/docs/qa/release-readiness-0.1.5.md +77 -0
  12. package/docs/release-spec.md +103 -81
  13. package/docs/skills-publishing.md +54 -187
  14. package/docs/skills.md +141 -78
  15. package/mcp/collections.json +1 -1
  16. package/mcp/fallback.json +1 -1
  17. package/mcp/servers.json +1 -1
  18. package/package.json +14 -17
  19. package/plugins/meta-architect/.app.json +1 -1
  20. package/plugins/meta-architect/.mcp.json +1 -1
  21. package/plugins/meta-architect/README.md +10 -23
  22. package/plugins/meta-architect/skills/meta-architect/SKILL.md +23 -17
  23. package/plugins/meta-architect/skills/meta-architect-arch/SKILL.md +24 -0
  24. package/plugins/meta-architect/skills/meta-architect-build/SKILL.md +25 -0
  25. package/plugins/meta-architect/skills/meta-architect-flow/SKILL.md +23 -0
  26. package/plugins/meta-architect/skills/meta-architect-sage/SKILL.md +23 -0
  27. package/plugins/meta-architect/skills/meta-architect-vet/SKILL.md +23 -0
  28. package/plugins/meta-architect/skills/meta-architect-vibe/SKILL.md +24 -0
  29. package/prompts/architect.md +216 -0
  30. package/prompts/builder.md +10 -0
  31. package/prompts/flow.md +9 -0
  32. package/prompts/release-manager.md +10 -0
  33. package/prompts/sage.md +10 -0
  34. package/prompts/security-reviewer.md +10 -0
  35. package/prompts/verifier.md +10 -0
  36. package/prompts/vibe.md +10 -0
  37. package/scripts/doctor.js +0 -8
  38. package/scripts/skills-install.js +36 -4
  39. package/scripts/skills-manifest.js +1 -1
  40. package/scripts/skills-validate.js +40 -78
  41. package/skills/index.json +22 -22
  42. package/skills/meta-architect/SKILL.md +23 -17
  43. package/skills/meta-architect/agents/openai.yaml +3 -3
  44. package/skills/meta-architect/references/core-release-rules.md +2 -2
  45. package/skills/meta-architect-arch/SKILL.md +24 -0
  46. package/skills/meta-architect-arch/agents/openai.yaml +4 -0
  47. package/skills/meta-architect-build/SKILL.md +25 -0
  48. package/skills/meta-architect-build/agents/openai.yaml +4 -0
  49. package/skills/meta-architect-flow/SKILL.md +23 -0
  50. package/skills/meta-architect-flow/agents/openai.yaml +4 -0
  51. package/skills/meta-architect-sage/SKILL.md +23 -0
  52. package/skills/meta-architect-sage/agents/openai.yaml +4 -0
  53. package/skills/meta-architect-vet/SKILL.md +23 -0
  54. package/skills/meta-architect-vet/agents/openai.yaml +4 -0
  55. package/skills/meta-architect-vibe/SKILL.md +24 -0
  56. package/skills/meta-architect-vibe/agents/openai.yaml +4 -0
  57. package/sprint/00-idea.md +1 -1
  58. package/sprint/01-architecture.md +1 -1
  59. package/sprint/02-oss-evidence.md +1 -1
  60. package/sprint/03-logic.md +1 -1
  61. package/sprint/04-security.md +2 -2
  62. package/sprint/05-dx-ux.md +1 -1
  63. package/src/decision-log.js +4 -4
  64. package/src/doctor.js +30 -0
  65. package/src/launcher.js +17 -21
  66. package/src/mcp-live-client.js +1 -1
  67. package/src/paths.js +32 -8
  68. package/src/release-state.js +3 -3
  69. package/src/setup.js +375 -0
  70. package/src/skills.js +166 -309
  71. package/templates/AGENTS.md +6 -6
  72. package/templates/model-instructions/core.md +1 -1
  73. package/.agents/plugins/marketplace.json +0 -20
  74. package/docs/assets/meta-architect-logo.png +0 -0
  75. package/docs/assets/meta-architect-logo.svg +0 -8
  76. package/docs/installed-sdk.md +0 -60
  77. package/docs/qa/release-readiness-0.1.4.md +0 -79
  78. package/plugins/meta-architect/.codex-plugin/plugin.json +0 -23
  79. package/plugins/meta-architect/skills/arch/SKILL.md +0 -27
  80. package/plugins/meta-architect/skills/arch/agents/openai.yaml +0 -4
  81. package/plugins/meta-architect/skills/build/SKILL.md +0 -24
  82. package/plugins/meta-architect/skills/build/agents/openai.yaml +0 -4
  83. package/plugins/meta-architect/skills/flow/SKILL.md +0 -24
  84. package/plugins/meta-architect/skills/flow/agents/openai.yaml +0 -4
  85. package/plugins/meta-architect/skills/meta-architect/agents/openai.yaml +0 -4
  86. package/plugins/meta-architect/skills/meta-architect/references/core-release-rules.md +0 -13
  87. package/plugins/meta-architect/skills/sage/SKILL.md +0 -24
  88. package/plugins/meta-architect/skills/sage/agents/openai.yaml +0 -4
  89. package/plugins/meta-architect/skills/vet/SKILL.md +0 -25
  90. package/plugins/meta-architect/skills/vet/agents/openai.yaml +0 -4
  91. package/plugins/meta-architect/skills/vibe/SKILL.md +0 -24
  92. package/plugins/meta-architect/skills/vibe/agents/openai.yaml +0 -4
  93. package/scripts/plugin-sync.js +0 -92
  94. package/scripts/postinstall.js +0 -23
  95. package/scripts/release-metadata.js +0 -94
  96. package/scripts/release-sync.js +0 -359
  97. package/scripts/release-verify.js +0 -153
  98. package/scripts/setup-npmrc.js +0 -39
  99. package/skills/arch/SKILL.md +0 -27
  100. package/skills/arch/agents/openai.yaml +0 -4
  101. package/skills/build/SKILL.md +0 -24
  102. package/skills/build/agents/openai.yaml +0 -4
  103. package/skills/flow/SKILL.md +0 -24
  104. package/skills/flow/agents/openai.yaml +0 -4
  105. package/skills/sage/SKILL.md +0 -24
  106. package/skills/sage/agents/openai.yaml +0 -4
  107. package/skills/vet/SKILL.md +0 -25
  108. package/skills/vet/agents/openai.yaml +0 -4
  109. package/skills/vibe/SKILL.md +0 -24
  110. package/skills/vibe/agents/openai.yaml +0 -4
  111. package/src/runtime-artifacts.js +0 -363
  112. package/src/skill-installer.js +0 -198
@@ -0,0 +1,77 @@
1
+ # Release Readiness 0.1.5
2
+
3
+ ## Production bar
4
+
5
+ `v0.1.5` is production only when:
6
+ - the Codex-hosted runtime workflow is reliable end-to-end
7
+ - the runtime/help/release contract is stable
8
+ - package metadata, manifests, docs, workflows, and release artifacts all agree on `0.1.5`
9
+ - provenance-capable publishing and post-publish verification are in place
10
+
11
+ ## Automated checks
12
+
13
+ Release-critical verification command:
14
+
15
+ ```bash
16
+ npm run release:check
17
+ ```
18
+
19
+ This must cover:
20
+ - manifest generation
21
+ - skill validation
22
+ - skill tarball packaging
23
+ - package metadata validation
24
+ - release doc/version/tag alignment
25
+ - workflow/provenance configuration validation
26
+ - Biome checks
27
+ - automated tests
28
+ - npm package dry-run inspection
29
+
30
+ ## Additional checks
31
+
32
+ Runtime posture:
33
+
34
+ ```bash
35
+ ma --madmax --high
36
+ ```
37
+
38
+ Scripted helper path for repo-local validation:
39
+
40
+ ```bash
41
+ ma idea "Build a demo app"
42
+ ma run '$arch'
43
+ ma run '$sage'
44
+ ma run '$flow'
45
+ ma run '$vet'
46
+ ma run '$vibe'
47
+ ma status
48
+ ma run '$build'
49
+ ```
50
+
51
+ Expected result:
52
+ - all helper commands succeed in sequence
53
+ - `$build` remains blocked until upstream gates are green
54
+ - ready builds emit bounded `feature/*` branch suggestions
55
+
56
+ ## Provenance checklist
57
+
58
+ - `.github/workflows/npm-publish.yml` uses GitHub Actions trusted publishing
59
+ - workflow permissions include `contents: read` and `id-token: write`
60
+ - publish command is `npm publish --provenance --access public`
61
+ - post-publish workflow verifies the published package version on npm
62
+ - post-publish workflow installs the published package in a clean directory and runs `npm audit signatures`
63
+
64
+ ## Release artifact checklist
65
+
66
+ - `package.json` version is `0.1.5`
67
+ - `package-lock.json` version is `0.1.5`
68
+ - `CHANGELOG.md` contains `## v0.1.5`
69
+ - `RELEASE.md` title is `# Meta-Architect v0.1.5`
70
+ - `docs/release-spec.md` references `v0.1.5`
71
+ - `dist/meta-architect-skills.tgz` exists and is non-empty
72
+
73
+ ## Known limits
74
+
75
+ - worktree execution remains operator-driven
76
+ - merge and release policy is enforced by helper commands rather than raw git hooks
77
+ - npm publish still requires the external trusted-publishing configuration on npm to be enabled for the repository
@@ -1,93 +1,115 @@
1
- # v0.1.4 Requirements & Rules
1
+ # v0.1.5 Requirements & Rules
2
2
 
3
3
  ## Production definition
4
4
 
5
- Meta-Architect `v0.1.4` is production only when:
6
- 1. the package/install surface works
7
- 2. the in-session skill workflow from `$arch` through `$build` works
8
- 3. the release evidence matches the actual package and git tag
5
+ Meta-Architect `v0.1.5` is production only when all of the following are true:
9
6
 
10
- ## What `v0.1.4` must have
7
+ 1. The Codex-hosted runtime workflow is reliable end-to-end.
8
+ 2. The public runtime, helper, and release contract is stable.
9
+ 3. There is documented release evidence for the exact version and tag.
11
10
 
12
- ### 1. Canonical package/runtime path
11
+ Production here means safe to recommend for real projects and expensive to break without a major version change.
13
12
 
14
- - install: `npm i -g @openai/codex@latest @jstn-sdk/ma@latest`
15
- - optional helper launch: `ma --madmax --high`
16
- - uninstall Meta-Architect only: `npm uninstall -g @jstn-sdk/ma`
17
- - uninstall Meta-Architect and Codex: `npm uninstall -g @jstn-sdk/ma @openai/codex`
18
- - runtime trigger surface:
13
+ ## What `v0.1.5` must have
14
+
15
+ ### 1. Runtime-first operation
16
+
17
+ - `ma --madmax --high` launches the Codex-hosted Meta-Architect posture.
18
+ - The primary operating surface inside Codex is:
19
19
  - `$arch`
20
20
  - `$sage`
21
21
  - `$flow`
22
22
  - `$vet`
23
23
  - `$vibe`
24
24
  - `$build`
25
-
26
- ### 2. Secondary helper path
27
-
28
- Helper commands remain available for setup and scripted validation:
29
- - `ma setup`
30
- - `ma idea`
31
- - `ma run ...`
32
- - `ma status`
33
- - `ma merge`
34
- - `ma release`
35
-
36
- ### 3. State and gate contract
37
-
38
- Canonical runtime namespace:
39
- - `.ma/`
40
-
41
- Canonical state files:
42
- - `.ma/decisions.json`
43
- - `.ma/release.json`
44
- - `.ma/evidence/*`
45
- - `.ma/context/*`
46
- - `.ma/specs/*`
47
- - `.ma/plans/*`
48
- - `.ma/runbook.md`
49
-
50
- ### 4. Required release evidence
51
-
52
- - `package.json` version `0.1.4`
53
- - git tag `v0.1.4`
54
- - `RELEASE.md`
55
- - `CHANGELOG.md`
56
- - `docs/qa/release-readiness-0.1.4.md`
57
- - green `npm run release:check`
58
-
59
- ### 5. Dist-tag discipline
60
-
61
- - stable versions such as `0.1.2` publish to npm `latest`
62
- - prerelease versions such as `0.2.0-beta.1` must publish with explicit tags such as `beta`
63
- - recommended alternate lanes are `next`, `beta`, and `canary`
64
- - prerelease publication must use `npm publish --tag <lane>`
65
- - stable publication keeps scoped public access and provenance enabled
66
-
67
- ### 6. Canonical bump and publish flow
68
-
69
- 1. Run `npm version <version> --no-git-tag-version`
70
- 2. Update `CHANGELOG.md`
71
- 3. Update `RELEASE.md`
72
- 4. Update `docs/qa/release-readiness-<version>.md`
73
- 5. Run `npm run release:verify`
74
- 6. Run `npm run release:check`
75
- 7. Create and push tag `v<version>`
76
- 8. Preferred publish path: publish from `.github/workflows/npm-publish.yml` on a supported cloud runner so provenance can be generated
77
- 9. Local shell fallback when not publishing from GitHub Actions or GitLab CI/CD:
78
- - Stable publish: `npm publish --access public`
79
- - Prerelease publish: `npm publish --access public --tag <lane>`
80
- 10. Verify dist-tags with `npm view @jstn-sdk/ma version dist-tags time --json`
81
-
82
- ### 6.1 Release automation
83
-
84
- - `npm run release:sync` updates the active release line when watched release-relevant files changed
85
- - `npm run release:advance` force-bumps the next patch line after a completed release
86
- - `.github/workflows/release-sync.yml` automates the sync path on `main`
87
- - `.github/workflows/release-advance.yml` advances the repo to the next patch line after a published release
88
-
89
- ### 7. Provenance rule
90
-
91
- - `npm publish --provenance` is valid only from a supported cloud CI/CD provider
92
- - local shell publishes are expected to fail with `Automatic provenance generation not supported for provider: null`
93
- - use the repository publish workflow when provenance is part of the release bar
25
+ - Helper commands remain secondary:
26
+ - `ma status`
27
+ - `ma idea`
28
+ - `ma run ...`
29
+ - `ma merge`
30
+ - `ma release`
31
+ - `ma doctor`
32
+ - `ma setup`
33
+
34
+ ### 2. Gate and status rules
35
+
36
+ Required status fields:
37
+ - `idea_status`
38
+ - `architecture_status`
39
+ - `evidence_status`
40
+ - `logic_status`
41
+ - `security_status`
42
+ - `experience_status`
43
+ - `build_status`
44
+ - `merge_status`
45
+ - `release_status`
46
+
47
+ Allowed values:
48
+ - `idea_status`: `DRAFT`, `CLEAR`, `BLOCKED`
49
+ - `architecture_status`: `DRAFT`, `REVIEWED`, `APPROVED`
50
+ - `evidence_status`: `MISSING`, `PARTIAL`, `VERIFIED`
51
+ - `logic_status`: `PENDING`, `GREEN`, `RED`
52
+ - `security_status`: `PENDING`, `GREEN`, `RED`
53
+ - `experience_status`: `PENDING`, `GREEN`, `RED`, `WAIVED`
54
+ - `build_status`: `LOCKED`, `READY`, `RUNNING`, `DONE`
55
+ - `merge_status`: `LOCKED`, `READY`, `MERGED_TO_DEVELOPMENT`
56
+ - `release_status`: `LOCKED`, `READY`, `SHIPPED_TO_PROD`
57
+
58
+ `$build` must stay locked unless:
59
+ - `idea_status = CLEAR`
60
+ - `architecture_status = APPROVED`
61
+ - `evidence_status = VERIFIED`
62
+ - `logic_status = GREEN`
63
+ - `security_status = GREEN`
64
+ - `experience_status { GREEN, WAIVED }`
65
+ - `build_status { LOCKED, READY }`
66
+
67
+ ### 3. Branch and release policy
68
+
69
+ - `feature/*` is bounded task work.
70
+ - `development` is the integration branch.
71
+ - `release/*` is optional stabilization.
72
+ - `prod` is the production release branch.
73
+
74
+ Rules:
75
+ - feature work merges into `development`, never directly into `prod`
76
+ - release evaluation is valid only from `development` or approved `release/*`
77
+ - no release claim is true until tag, GitHub release, and npm publish all succeed
78
+
79
+ ### 4. Evidence and MCP rules
80
+
81
+ - `$sage` must use approved GitMCP endpoints from `mcp/servers.json`.
82
+ - Generic `https://gitmcp.io/docs` fallback remains policy-only and cannot silently unlock `$build`.
83
+ - Evidence must be logged honestly as `VERIFIED`, `PARTIAL`, or `MISSING`.
84
+ - Fake repos, fake endpoints, and silent evidence upgrades are prohibited.
85
+
86
+ ### 5. Release packaging and provenance
87
+
88
+ Required release evidence:
89
+ - matching package version and git tag (`v0.1.5` format)
90
+ - `CHANGELOG.md` entry
91
+ - `RELEASE.md` body
92
+ - `docs/qa/release-readiness-0.1.5.md`
93
+ - `dist/meta-architect-skills.tgz`
94
+ - npm trusted publishing configuration
95
+ - post-publish provenance verification
96
+
97
+ ### 6. Required docs
98
+
99
+ - `README.md`
100
+ - `docs/getting-started.md`
101
+ - `docs/skills.md`
102
+ - `docs/mcp-setup.md`
103
+ - `docs/skills-publishing.md`
104
+ - `docs/release-spec.md`
105
+ - `docs/qa/release-readiness-0.1.5.md`
106
+
107
+ ## Production rule
108
+
109
+ Meta-Architect `v0.1.5` is considered production-ready only if:
110
+ - a Codex session launches through `ma --madmax --high`
111
+ - the full `$arch -> $sage -> $flow -> $vet -> $vibe -> $build` contract works with gate enforcement
112
+ - package, docs, workflows, manifests, and release notes all agree on `v0.1.5`
113
+ - the skill distribution surfaces validate and package from a clean checkout
114
+ - the npm publish workflow is provenance-capable
115
+ - post-publish verification checks are defined and enforced
@@ -1,231 +1,98 @@
1
1
  # Skills Publishing
2
2
 
3
- Meta-Architect ships skills through a deliberate source-to-package pipeline. This repository treats publishable skills as product artifacts, not as raw markdown files.
3
+ Meta-Architect publishes a Codex-native runtime package plus aligned skill-distribution surfaces. Publishable skills are product artifacts, not loose markdown.
4
4
 
5
- ## Two skill surfaces
5
+ ## Provenance standard
6
6
 
7
- ### 1. Internal runtime surface
7
+ Meta-Architect `v0.1.5` uses npm trusted publishing from GitHub Actions as the canonical publish path.
8
8
 
9
- Location:
10
- - `.ma/skills/`
9
+ Required release conditions:
10
+ - public package name: `@jstn-sdk/ma`
11
+ - canonical source repository: `https://github.com/JustineDevs/meta-architect`
12
+ - GitHub Actions OIDC enabled with `id-token: write`
13
+ - `npm publish --provenance --access public`
14
+ - post-publish verification with npm metadata checks plus `npm audit signatures`
11
15
 
12
- Purpose:
13
- - local runtime behavior
14
- - internal command contracts
15
- - generated or seeded operator surfaces
16
+ ## Distribution surfaces
16
17
 
17
- ### 2. Publishable skill surface
18
+ Internal runtime surface:
19
+ - `.omx/skills/`
18
20
 
19
- Location:
21
+ Publishable skill surface:
20
22
  - `skills/`
21
23
 
22
- Purpose:
23
- - installable Codex skill folders
24
- - UI metadata via `agents/openai.yaml`
25
- - versionable public skill contract
24
+ Plugin-facing bundle:
25
+ - `plugins/meta-architect/`
26
26
 
27
- Do not confuse these two layers. The repo publishes `skills/`, not `.ma/`.
27
+ The runtime story stays the same across all three surfaces:
28
+ - install `@openai/codex` and `@jstn-sdk/ma`
29
+ - launch `ma --madmax --high`
30
+ - operate through `$arch`, `$sage`, `$flow`, `$vet`, `$vibe`, `$build`
28
31
 
29
32
  ## Canonical packaging flow
30
33
 
31
- ### Generate manifest
32
-
33
34
  ```bash
34
35
  npm run skills:manifest
35
- ```
36
-
37
- Expected effect:
38
- - writes `skills/index.json`
39
- - manifest entries should match the actual skill directories
40
-
41
- ### Validate skills
42
-
43
- ```bash
44
36
  npm run skills:validate
45
- ```
46
-
47
- Expected effect:
48
- - every skill folder passes the validator
49
- - missing or invalid frontmatter should fail the command
50
- - missing or structurally incomplete `agents/openai.yaml` should fail the command
51
-
52
- ### Sync plugin mirror
53
-
54
- ```bash
55
- npm run plugin:sync
56
- npm run plugin:verify
57
- ```
58
-
59
- Expected effect:
60
- - `plugins/meta-architect/skills/` mirrors the canonical `skills/` surface
61
- - the local marketplace and plugin bundle remain aligned with the package skill contract
62
- - plugin drift fails verification instead of surviving into release artifacts
63
-
64
- ### Create bundle
65
-
66
- ```bash
67
37
  npm run skills:pack
68
- ```
69
-
70
- Expected effect:
71
- - creates `dist/meta-architect-skills.tgz`
72
- - bundle should be non-empty
73
-
74
- ### Smoke-test install
75
-
76
- ```bash
77
38
  npm run skills:install -- --path ./dist/installed-skills
39
+ npm run pack:inspect
78
40
  ```
79
41
 
80
- Expected effect:
81
- - all publishable skill folders are copied to the target install path
82
- - install target should contain:
83
- - `meta-architect`
84
- - `arch`
85
- - `sage`
86
- - `flow`
87
- - `vet`
88
- - `vibe`
89
- - `build`
42
+ Expected outputs:
43
+ - `skills/index.json`
44
+ - `dist/meta-architect-skills.tgz`
45
+ - installable skill folders under `dist/installed-skills/`
90
46
 
91
- ## Expected outputs
47
+ ## Public npm package
92
48
 
93
- ### `skills/index.json`
94
-
95
- Should contain:
96
- - schema version
97
- - skill names
98
- - repo-local path mapping
99
- - descriptions
100
-
101
- ### `dist/meta-architect-skills.tgz`
102
-
103
- Should contain:
104
- - `skills/`
105
- - each skill folder
106
- - each `SKILL.md`
107
- - each `agents/openai.yaml`
108
- - any intended references/assets
109
-
110
- It should **not** rely on hidden runtime state.
111
-
112
- Important:
113
- - `npm run skills:pack` creates the **skills bundle tarball only**
114
- - it is not the same thing as the broader npm package tarball from `npm pack`
115
- - the npm package surface is controlled separately by `package.json > files`
116
-
117
- ## Source vs package contents
118
-
119
- The npm package and tarball should stay explicit.
120
-
121
- Current package intent:
122
- - package name: `@jstn-sdk/ma`
123
- - public publish config
124
- - explicit `files` list in `package.json`
125
-
126
- The publishable package should include:
49
+ The npm package should include only the intended public surfaces from `package.json > files`, including:
127
50
  - `bin/`
51
+ - `src/`
52
+ - `.codex/`
53
+ - `mcp/`
54
+ - `prompts/`
128
55
  - `skills/`
129
56
  - `docs/`
130
- - `scripts/`
131
- - `index.js`
57
+ - `plugins/`
58
+ - `templates/`
132
59
  - `README.md`
133
60
  - `LICENSE`
134
61
 
135
- It should not include:
136
- - runtime `.ma` state
137
- - local logs
138
- - temp install targets
139
- - generated local caches
140
-
141
- The `skills:pack` tarball is narrower than the npm package:
142
- - `skills:pack` => `skills/` distribution bundle
143
- - `npm pack` => public npm package with the explicit `files` list
144
-
145
- ## Release and dist-tag discipline
146
-
147
- Meta-Architect release behavior is lane-aware:
148
- - stable versions publish to npm `latest`
149
- - prerelease versions publish to explicit lanes such as `next`, `beta`, or `canary`
150
- - prereleases must use `npm publish --tag <lane>`
151
- - stable releases keep the default `latest` behavior and public scoped access
152
-
153
- Before publish:
154
- 1. bump version with `npm version <version> --no-git-tag-version`
155
- 2. update changelog and release docs
156
- 3. run `npm run release:verify`
157
- 4. run `npm run release:check`
158
- 5. create and push tag `v<version>`
159
- 6. publish the package with the correct lane behavior
160
- - preferred: run `.github/workflows/npm-publish.yml` on a supported cloud runner so provenance can be generated
161
- - local fallback: omit `--provenance` and publish with `npm publish --access public` or `npm publish --access public --tag <lane>`
162
- 7. verify the resulting dist-tags with `npm view @jstn-sdk/ma version dist-tags time --json`
163
-
164
- ## Plugin relation
165
-
166
- The plugin bundle in:
167
- - `plugins/meta-architect/`
62
+ It must not include local runtime residue such as:
63
+ - `.omx/logs/`
64
+ - `.omx/state/`
65
+ - `.omx/tmp/`
66
+ - `.omx/cache/`
67
+ - `.omx/metrics.json`
168
68
 
169
- is related but not identical to the npm/package skill bundle.
69
+ ## Release verification
170
70
 
171
- Relationship:
172
- - `skills/` is the canonical publishable skill source
173
- - `plugins/meta-architect/` is the plugin-installable consumer-facing bundle
174
- - both should remain aligned in behavior and version intent
175
- - `.agents/plugins/marketplace.json` advertises the local plugin source for discovery
176
- - `plugins/meta-architect/.codex-plugin/plugin.json` is the plugin contract entrypoint
71
+ Before a release is considered real:
72
+ - `npm run release:check` passes
73
+ - `skills/index.json` is current
74
+ - `dist/meta-architect-skills.tgz` exists and is non-empty
75
+ - package metadata matches the canonical repo identity
76
+ - release notes, changelog, QA doc, and workflows all reference the same version/tag
77
+ - publish workflow remains provenance-capable
78
+
79
+ ## Post-publish provenance verification
177
80
 
178
- If a skill contract changes:
179
- 1. update `skills/`
180
- 2. regenerate manifest
181
- 3. sync the plugin mirror
182
- 4. validate skills
183
- 5. ensure plugin-facing bundle still reflects the same product contract
81
+ After publish:
184
82
 
185
- ## Real commands for a release-minded flow
83
+ 1. Verify the published package version on npm.
84
+ 2. Install `@jstn-sdk/ma@<version>` in a clean temp directory.
85
+ 3. Run:
186
86
 
187
87
  ```bash
188
- npm run skills:manifest
189
- npm run plugin:sync
190
- npm run skills:validate
191
- npm run plugin:verify
192
- npm run skills:pack
193
- npm run skills:install -- --path ./dist/installed-skills
194
- npm run pack:inspect
88
+ npm audit signatures
195
89
  ```
196
90
 
197
- ## Expected failure modes
198
-
199
- - manifest drift:
200
- - `skills/index.json` does not match actual skill directories
201
- - invalid skill:
202
- - malformed frontmatter
203
- - missing `SKILL.md`
204
- - invalid `agents/openai.yaml`
205
- - package drift:
206
- - tarball includes files not intended for public distribution
207
- - plugin drift:
208
- - plugin bundle no longer matches the published skill contract
209
-
210
- ## Release artifact expectations
211
-
212
- Before a release is considered real:
213
- - `skills/index.json` must be current
214
- - `dist/meta-architect-skills.tgz` must exist
215
- - install smoke test must pass
216
- - package inspection must be sane
217
- - docs must match the published behavior
91
+ 4. Confirm the npm package provenance points back to `JustineDevs/meta-architect` and the GitHub Actions publish workflow.
218
92
 
219
93
  ## Related surfaces
220
94
 
221
95
  - [README.md](../README.md)
222
96
  - [docs/skills.md](./skills.md)
223
97
  - [plugins/meta-architect/README.md](../plugins/meta-architect/README.md)
224
- - [plugins/meta-architect/.codex-plugin/plugin.json](../plugins/meta-architect/.codex-plugin/plugin.json)
225
- - [../.agents/plugins/marketplace.json](../.agents/plugins/marketplace.json)
226
98
  - [package.json](../package.json)
227
- - [scripts/skills-manifest.js](../scripts/skills-manifest.js)
228
- - [scripts/plugin-sync.js](../scripts/plugin-sync.js)
229
- - [scripts/skills-validate.js](../scripts/skills-validate.js)
230
- - [scripts/skills-pack.js](../scripts/skills-pack.js)
231
- - [scripts/skills-install.js](../scripts/skills-install.js)