@jstn-sdk/ma 0.1.3 → 0.1.4

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 CHANGED
@@ -10,9 +10,9 @@
10
10
  </div>
11
11
 
12
12
  > [!IMPORTANT]
13
- > Meta-Architect `v0.1.3` is a production-grade skills line.
13
+ > Meta-Architect `v0.1.4` is a production-grade skills line.
14
14
  > It is not a lightweight demo branch.
15
- > From `v0.1.3` onward, the package is expected to ship with stable skill contracts, deterministic packaging, explicit release gates, and honest install and publish surfaces.
15
+ > From `v0.1.4` onward, the package is expected to ship with stable skill contracts, deterministic packaging, explicit release gates, and honest install and publish surfaces.
16
16
 
17
17
  ## Overview
18
18
 
@@ -44,7 +44,7 @@ It adds:
44
44
  </tr>
45
45
  <tr>
46
46
  <td><strong>Release line</strong></td>
47
- <td><code>v0.1.3</code></td>
47
+ <td><code>v0.1.4</code></td>
48
48
  </tr>
49
49
  <tr>
50
50
  <td><strong>License</strong></td>
@@ -193,7 +193,7 @@ Required output:
193
193
  5. Data model and storage choices
194
194
  6. Auth/security considerations
195
195
  7. DX/UX considerations
196
- 8. Delivery plan for v0.1.3
196
+ 8. Delivery plan for v0.1.4
197
197
  9. Risks and trade-offs
198
198
  10. Decision log
199
199
  11. Exact next trigger to run after this
@@ -447,6 +447,12 @@ Provenance note:
447
447
  - a local shell publish will fail with `Automatic provenance generation not supported for provider: null`
448
448
  - use the repository publish workflow when provenance is required
449
449
 
450
+ Release automation:
451
+ - `npm run release:sync` bumps and synchronizes the active release line only when watched release-relevant files changed
452
+ - `npm run release:advance` force-bumps the next patch line and rewrites the same version-bearing files
453
+ - `.github/workflows/release-sync.yml` runs the sync path on `main` pushes that touch watched release-relevant paths
454
+ - `.github/workflows/release-advance.yml` runs after a published GitHub release and advances the repo to the next patch line automatically
455
+
450
456
  > [!CAUTION]
451
457
  > Do not claim npm, GitHub release, or any other publish channel until that channel has actually succeeded.
452
458
  > Release documentation must match reality, not intent.
@@ -517,7 +523,7 @@ Provenance note:
517
523
  | [Plugin README](./plugins/meta-architect/README.md) | plugin distribution surface |
518
524
  | [Collaborative Whiteboard Mission](./missions/collaborative-whiteboard/mission.md) | concrete scenario walkthrough |
519
525
  | [Release Spec](./docs/release-spec.md) | release and gate policy |
520
- | [Release Readiness](./docs/qa/release-readiness-0.1.3.md) | QA evidence for the `v0.1.3` line |
526
+ | [Release Readiness](./docs/qa/release-readiness-0.1.4.md) | QA evidence for the `v0.1.4` line |
521
527
 
522
528
  ## Release Hygiene
523
529
 
package/docs/README.md CHANGED
@@ -17,7 +17,7 @@ Meta-Architect documentation is organized by operator task.
17
17
 
18
18
  ## QA and readiness
19
19
 
20
- - [Release Readiness 0.1.3](./qa/release-readiness-0.1.3.md)
20
+ - [Release Readiness 0.1.4](./qa/release-readiness-0.1.4.md)
21
21
 
22
22
  ## Repo structure references
23
23
 
@@ -74,7 +74,7 @@ Required output:
74
74
  5. Data model and storage choices
75
75
  6. Auth/security considerations
76
76
  7. DX/UX considerations
77
- 8. Delivery plan for v0.1.3
77
+ 8. Delivery plan for v0.1.4
78
78
  9. Risks and trade-offs
79
79
  10. Decision log
80
80
  11. Exact next trigger to run after this
@@ -1,25 +1,25 @@
1
- # Release Readiness 0.1.3
1
+ # Release Readiness 0.1.4
2
2
 
3
3
  ## Production bar
4
4
 
5
- `v0.1.3` is treated as production only when:
5
+ `v0.1.4` is treated as production only when:
6
6
  - the package installs cleanly from the canonical public install command
7
7
  - the Codex-hosted runtime path works end to end
8
8
  - the helper flow remains valid for scripted verification
9
- - release docs, package metadata, and workflows all agree on `0.1.3`
9
+ - release docs, package metadata, and workflows all agree on `0.1.4`
10
10
 
11
11
  Target release state:
12
- - npm package: `@jstn-sdk/ma@0.1.3`
12
+ - npm package: `@jstn-sdk/ma@0.1.4`
13
13
  - npm registry state: pending publish
14
- - publishability note: `0.1.2` is already published, so `0.1.3` is the next publishable package line
15
- - git tag: `v0.1.3`
16
- - GitHub release: pending publish for `v0.1.3`
14
+ - publishability note: `0.1.3` is already published, so `0.1.4` is the next publishable package line
15
+ - git tag: `v0.1.4`
16
+ - GitHub release: pending publish for `v0.1.4`
17
17
 
18
18
  ## Production checklist
19
19
 
20
20
  - skills-first product identity: PASS
21
21
  - package/plugin identity aligned to `@jstn-sdk/ma`: PASS
22
- - version/tag alignment `0.1.3` / `v0.1.3`: PASS
22
+ - version/tag alignment `0.1.4` / `v0.1.4`: PASS
23
23
  - install/uninstall docs aligned: PASS
24
24
  - onboarding is concise and sequential: PASS
25
25
  - helper command documented as secondary: PASS
@@ -1,13 +1,13 @@
1
- # v0.1.3 Requirements & Rules
1
+ # v0.1.4 Requirements & Rules
2
2
 
3
3
  ## Production definition
4
4
 
5
- Meta-Architect `v0.1.3` is production only when:
5
+ Meta-Architect `v0.1.4` is production only when:
6
6
  1. the package/install surface works
7
7
  2. the in-session skill workflow from `$arch` through `$build` works
8
8
  3. the release evidence matches the actual package and git tag
9
9
 
10
- ## What `v0.1.3` must have
10
+ ## What `v0.1.4` must have
11
11
 
12
12
  ### 1. Canonical package/runtime path
13
13
 
@@ -49,11 +49,11 @@ Canonical state files:
49
49
 
50
50
  ### 4. Required release evidence
51
51
 
52
- - `package.json` version `0.1.3`
53
- - git tag `v0.1.3`
52
+ - `package.json` version `0.1.4`
53
+ - git tag `v0.1.4`
54
54
  - `RELEASE.md`
55
55
  - `CHANGELOG.md`
56
- - `docs/qa/release-readiness-0.1.3.md`
56
+ - `docs/qa/release-readiness-0.1.4.md`
57
57
  - green `npm run release:check`
58
58
 
59
59
  ### 5. Dist-tag discipline
@@ -79,6 +79,13 @@ Canonical state files:
79
79
  - Prerelease publish: `npm publish --access public --tag <lane>`
80
80
  10. Verify dist-tags with `npm view @jstn-sdk/ma version dist-tags time --json`
81
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
+
82
89
  ### 7. Provenance rule
83
90
 
84
91
  - `npm publish --provenance` is valid only from a supported cloud CI/CD provider
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jstn-sdk/ma",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Codex-native skills system for architecture, evidence, review, and gated build guidance.",
5
5
  "license": "MIT",
6
6
  "author": "JustineDevs",
@@ -61,6 +61,7 @@
61
61
  "build:gate": "node ./bin/ma.js run '$build'",
62
62
  "release:meta": "node ./scripts/release-metadata.js",
63
63
  "release:sync": "node ./scripts/release-sync.js",
64
+ "release:advance": "node ./scripts/release-sync.js --force --bump patch",
64
65
  "release:verify": "node ./scripts/release-verify.js",
65
66
  "release:check": "npm run release:verify && npm run skills:manifest && npm run plugin:sync && npm run skills:validate && npm run plugin:verify && npm run skills:pack && npm run check && npm test && npm run pack:inspect",
66
67
  "skills:manifest": "node ./scripts/skills-manifest.js",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "meta-architect",
3
3
  "displayName": "Meta-Architect",
4
- "version": "0.1.3",
4
+ "version": "0.1.4",
5
5
  "description": "Programmatic architecture and verified engineering skills for Codex-native workflows.",
6
6
  "entry": "./README.md",
7
7
  "skillsDir": "./skills"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "meta-architect",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Skills-first workflow layer for Codex with architecture, evidence, review, and gated build guidance.",
5
5
  "author": {
6
6
  "name": "JustineDevs",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "meta-architect",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "collections": [
5
5
  "sindresorhus/awesome",
6
6
  "dzharii/awesome-typescript",
@@ -105,7 +105,7 @@ When consuming the plugin:
105
105
  The plugin version should track the release scope of the core repo.
106
106
 
107
107
  For this repository:
108
- - plugin scope is aligned to Meta-Architect `v0.1.3`
108
+ - plugin scope is aligned to Meta-Architect `v0.1.4`
109
109
  - any breaking contract change should be versioned intentionally
110
110
 
111
111
  The plugin is one distribution surface of the same product, not a separate product line.
@@ -34,6 +34,7 @@ function parseArgs(argv) {
34
34
  fromRef: "",
35
35
  toRef: "",
36
36
  githubOutput: "",
37
+ force: false,
37
38
  };
38
39
 
39
40
  for (let index = 0; index < argv.length; index += 1) {
@@ -56,6 +57,10 @@ function parseArgs(argv) {
56
57
  if (token === "--github-output") {
57
58
  args.githubOutput = argv[index + 1] ?? "";
58
59
  index += 1;
60
+ continue;
61
+ }
62
+ if (token === "--force") {
63
+ args.force = true;
59
64
  }
60
65
  }
61
66
 
@@ -112,13 +117,17 @@ function git(args) {
112
117
  return execFileSync("git", args, { encoding: "utf8" }).trim();
113
118
  }
114
119
 
115
- function getChangedFiles({ fromRef, toRef }) {
120
+ function getChangedFiles({ fromRef, toRef, force }) {
116
121
  if (process.env.RELEASE_SYNC_CHANGED_FILES) {
117
122
  return process.env.RELEASE_SYNC_CHANGED_FILES.split("\n")
118
123
  .map((line) => line.trim())
119
124
  .filter(Boolean);
120
125
  }
121
126
 
127
+ if (force) {
128
+ return [];
129
+ }
130
+
122
131
  if (fromRef && toRef && !/^0+$/.test(fromRef)) {
123
132
  return git(["diff", "--name-only", fromRef, toRef])
124
133
  .split("\n")
@@ -291,9 +300,9 @@ function main() {
291
300
  const pkg = readJson("package.json");
292
301
  const currentVersion = pkg.version;
293
302
  const changedFiles = getChangedFiles(args);
294
- const relevantChanges = changedFiles.filter(isWatchedPath);
303
+ const relevantChanges = args.force ? ["<forced>"] : changedFiles.filter(isWatchedPath);
295
304
 
296
- if (relevantChanges.length === 0) {
305
+ if (relevantChanges.length === 0 && !args.force) {
297
306
  if (args.githubOutput) {
298
307
  writeGithubOutput(args.githubOutput, { updated: "false", version: currentVersion });
299
308
  }
@@ -301,6 +310,7 @@ function main() {
301
310
  JSON.stringify(
302
311
  {
303
312
  updated: false,
313
+ forced: false,
304
314
  version: currentVersion,
305
315
  changedFiles,
306
316
  },
@@ -329,6 +339,7 @@ function main() {
329
339
  JSON.stringify(
330
340
  {
331
341
  updated: true,
342
+ forced: args.force,
332
343
  bump: bumpKind,
333
344
  previousVersion: currentVersion,
334
345
  version: nextVersion,
@@ -38,7 +38,7 @@ export class McpSseClient {
38
38
  capabilities: {},
39
39
  clientInfo: {
40
40
  name: "meta-architect",
41
- version: "0.1.3",
41
+ version: "0.1.4",
42
42
  },
43
43
  });
44
44
 
package/src/skills.js CHANGED
@@ -344,8 +344,8 @@ export async function runInit() {
344
344
  path.join(getRepoRoot(), "docs", "release-spec.md"),
345
345
  ],
346
346
  [
347
- path.join(packageRoot, "docs", "qa", "release-readiness-0.1.3.md"),
348
- path.join(getRepoRoot(), "docs", "qa", "release-readiness-0.1.3.md"),
347
+ path.join(packageRoot, "docs", "qa", "release-readiness-0.1.4.md"),
348
+ path.join(getRepoRoot(), "docs", "qa", "release-readiness-0.1.4.md"),
349
349
  ],
350
350
  ];
351
351