@jstn-sdk/ma 0.1.9 → 0.1.11
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 +5 -5
- package/docs/README.md +1 -1
- package/docs/getting-started.md +1 -1
- package/docs/qa/{release-readiness-0.1.9.md → release-readiness-0.1.11.md} +8 -8
- package/docs/release-spec.md +6 -6
- package/package.json +1 -1
- package/plugins/meta-architect/.app.json +1 -1
- package/plugins/meta-architect/.codex-plugin/plugin.json +1 -1
- package/plugins/meta-architect/.mcp.json +1 -1
- package/plugins/meta-architect/README.md +1 -1
- package/scripts/biome-staged.js +66 -0
- package/scripts/release-sync.js +14 -1
- package/src/mcp-live-client.js +1 -1
- package/src/skills.js +2 -2
package/README.md
CHANGED
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
</div>
|
|
19
19
|
|
|
20
20
|
> [!IMPORTANT]
|
|
21
|
-
> Meta-Architect `v0.1.
|
|
21
|
+
> Meta-Architect `v0.1.11` is a production-grade skills line.
|
|
22
22
|
> It is not a lightweight demo branch.
|
|
23
|
-
> From `v0.1.
|
|
23
|
+
> From `v0.1.11` onward, the package is expected to ship with stable skill contracts, deterministic packaging, explicit release gates, and honest install and publish surfaces.
|
|
24
24
|
|
|
25
25
|
## Overview
|
|
26
26
|
|
|
@@ -57,7 +57,7 @@ It adds:
|
|
|
57
57
|
</tr>
|
|
58
58
|
<tr>
|
|
59
59
|
<td><strong>Release line</strong></td>
|
|
60
|
-
<td><code>v0.1.
|
|
60
|
+
<td><code>v0.1.11</code></td>
|
|
61
61
|
</tr>
|
|
62
62
|
<tr>
|
|
63
63
|
<td><strong>License</strong></td>
|
|
@@ -230,7 +230,7 @@ Required output:
|
|
|
230
230
|
5. Data model and storage choices
|
|
231
231
|
6. Auth/security considerations
|
|
232
232
|
7. DX/UX considerations
|
|
233
|
-
8. Delivery plan for v0.1.
|
|
233
|
+
8. Delivery plan for v0.1.11
|
|
234
234
|
9. Risks and trade-offs
|
|
235
235
|
10. Decision log
|
|
236
236
|
11. Exact next trigger to run after this
|
|
@@ -608,7 +608,7 @@ Release automation:
|
|
|
608
608
|
| [Plugin README](./plugins/meta-architect/README.md) | plugin distribution surface |
|
|
609
609
|
| [Collaborative Whiteboard Mission](./missions/collaborative-whiteboard/mission.md) | concrete scenario walkthrough |
|
|
610
610
|
| [Release Spec](./docs/release-spec.md) | release and gate policy |
|
|
611
|
-
| [Release Readiness](./docs/qa/release-readiness-0.1.
|
|
611
|
+
| [Release Readiness](./docs/qa/release-readiness-0.1.11.md) | QA evidence for the `v0.1.11` line |
|
|
612
612
|
|
|
613
613
|
## Release Hygiene
|
|
614
614
|
|
package/docs/README.md
CHANGED
package/docs/getting-started.md
CHANGED
|
@@ -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.
|
|
77
|
+
8. Delivery plan for v0.1.11
|
|
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.
|
|
1
|
+
# Release Readiness 0.1.11
|
|
2
2
|
|
|
3
3
|
## Production bar
|
|
4
4
|
|
|
5
|
-
`v0.1.
|
|
5
|
+
`v0.1.11` 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.
|
|
9
|
+
- release docs, package metadata, and workflows all agree on `0.1.11`
|
|
10
10
|
|
|
11
11
|
Target release state:
|
|
12
|
-
- npm package: `@jstn-sdk/ma@0.1.
|
|
12
|
+
- npm package: `@jstn-sdk/ma@0.1.11`
|
|
13
13
|
- npm registry state: pending publish
|
|
14
|
-
- publishability note: `0.1.
|
|
15
|
-
- git tag: `v0.1.
|
|
16
|
-
- GitHub release: pending publish for `v0.1.
|
|
14
|
+
- publishability note: `0.1.10` is already published, so `0.1.11` is the next publishable package line
|
|
15
|
+
- git tag: `v0.1.11`
|
|
16
|
+
- GitHub release: pending publish for `v0.1.11`
|
|
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.
|
|
22
|
+
- version/tag alignment `0.1.11` / `v0.1.11`: PASS
|
|
23
23
|
- install/uninstall docs aligned: PASS
|
|
24
24
|
- onboarding is concise and sequential: PASS
|
|
25
25
|
- helper command documented as secondary: PASS
|
package/docs/release-spec.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
# v0.1.
|
|
1
|
+
# v0.1.11 Requirements & Rules
|
|
2
2
|
|
|
3
3
|
## Production definition
|
|
4
4
|
|
|
5
|
-
Meta-Architect `v0.1.
|
|
5
|
+
Meta-Architect `v0.1.11` 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.
|
|
10
|
+
## What `v0.1.11` 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.
|
|
53
|
-
- git tag `v0.1.
|
|
52
|
+
- `package.json` version `0.1.11`
|
|
53
|
+
- git tag `v0.1.11`
|
|
54
54
|
- `RELEASE.md`
|
|
55
55
|
- `CHANGELOG.md`
|
|
56
|
-
- `docs/qa/release-readiness-0.1.
|
|
56
|
+
- `docs/qa/release-readiness-0.1.11.md`
|
|
57
57
|
- green `npm run release:check`
|
|
58
58
|
|
|
59
59
|
### 5. Dist-tag discipline
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "meta-architect",
|
|
3
3
|
"displayName": "Meta-Architect",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.11",
|
|
5
5
|
"description": "Programmatic architecture and verified engineering skills for Codex-native workflows.",
|
|
6
6
|
"entry": "./README.md",
|
|
7
7
|
"skillsDir": "./skills"
|
|
@@ -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.
|
|
108
|
+
- plugin scope is aligned to Meta-Architect `v0.1.11`
|
|
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.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { spawnSync } from "node:child_process";
|
|
4
|
+
import fs from "node:fs";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
|
|
7
|
+
const supportedExtensions = new Set([
|
|
8
|
+
".js",
|
|
9
|
+
".mjs",
|
|
10
|
+
".cjs",
|
|
11
|
+
".jsx",
|
|
12
|
+
".ts",
|
|
13
|
+
".tsx",
|
|
14
|
+
".json",
|
|
15
|
+
".jsonc",
|
|
16
|
+
".css",
|
|
17
|
+
]);
|
|
18
|
+
|
|
19
|
+
function run(command, args) {
|
|
20
|
+
const result = spawnSync(command, args, {
|
|
21
|
+
stdio: "inherit",
|
|
22
|
+
encoding: "utf8",
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
if (result.error) {
|
|
26
|
+
throw result.error;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (typeof result.status === "number" && result.status !== 0) {
|
|
30
|
+
process.exit(result.status);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function getStagedFiles() {
|
|
35
|
+
const result = spawnSync("git", ["diff", "--cached", "--name-only", "--diff-filter=ACMR"], {
|
|
36
|
+
encoding: "utf8",
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
if (result.error) {
|
|
40
|
+
throw result.error;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (typeof result.status === "number" && result.status !== 0) {
|
|
44
|
+
process.exit(result.status);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return result.stdout
|
|
48
|
+
.split("\n")
|
|
49
|
+
.map((line) => line.trim())
|
|
50
|
+
.filter(Boolean)
|
|
51
|
+
.filter((file) => supportedExtensions.has(path.extname(file)))
|
|
52
|
+
.filter((file) => fs.existsSync(file));
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function main() {
|
|
56
|
+
const files = getStagedFiles();
|
|
57
|
+
if (files.length === 0) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
run("npx", ["@biomejs/biome", "format", "--write", ...files]);
|
|
62
|
+
run("git", ["update-index", "--again"]);
|
|
63
|
+
run("npx", ["@biomejs/biome", "lint", ...files]);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
main();
|
package/scripts/release-sync.js
CHANGED
|
@@ -75,6 +75,15 @@ function writeJson(file, value) {
|
|
|
75
75
|
fs.writeFileSync(file, `${JSON.stringify(value, null, 2)}\n`);
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
+
function writePluginManifestJson(file, value) {
|
|
79
|
+
let content = `${JSON.stringify(value, null, 2)}\n`;
|
|
80
|
+
if (Array.isArray(value.keywords)) {
|
|
81
|
+
const inlineKeywords = `[${value.keywords.map((entry) => JSON.stringify(entry)).join(", ")}]`;
|
|
82
|
+
content = content.replace(/"keywords": \[[\s\S]*?\],/, `"keywords": ${inlineKeywords},`);
|
|
83
|
+
}
|
|
84
|
+
fs.writeFileSync(file, content);
|
|
85
|
+
}
|
|
86
|
+
|
|
78
87
|
function readText(file) {
|
|
79
88
|
return fs.readFileSync(file, "utf8");
|
|
80
89
|
}
|
|
@@ -191,12 +200,16 @@ function syncPluginVersions(nextVersion) {
|
|
|
191
200
|
for (const file of [
|
|
192
201
|
path.join("plugins", "meta-architect", ".app.json"),
|
|
193
202
|
path.join("plugins", "meta-architect", ".mcp.json"),
|
|
194
|
-
path.join("plugins", "meta-architect", ".codex-plugin", "plugin.json"),
|
|
195
203
|
]) {
|
|
196
204
|
const value = readJson(file);
|
|
197
205
|
value.version = nextVersion;
|
|
198
206
|
writeJson(file, value);
|
|
199
207
|
}
|
|
208
|
+
|
|
209
|
+
const pluginManifestFile = path.join("plugins", "meta-architect", ".codex-plugin", "plugin.json");
|
|
210
|
+
const pluginManifest = readJson(pluginManifestFile);
|
|
211
|
+
pluginManifest.version = nextVersion;
|
|
212
|
+
writePluginManifestJson(pluginManifestFile, pluginManifest);
|
|
200
213
|
}
|
|
201
214
|
|
|
202
215
|
function syncCurrentReleaseFiles(oldVersion, nextVersion) {
|
package/src/mcp-live-client.js
CHANGED
package/src/skills.js
CHANGED
|
@@ -508,8 +508,8 @@ export async function runInit() {
|
|
|
508
508
|
path.join(getRepoRoot(), "docs", "release-spec.md"),
|
|
509
509
|
],
|
|
510
510
|
[
|
|
511
|
-
path.join(packageRoot, "docs", "qa", "release-readiness-0.1.
|
|
512
|
-
path.join(getRepoRoot(), "docs", "qa", "release-readiness-0.1.
|
|
511
|
+
path.join(packageRoot, "docs", "qa", "release-readiness-0.1.11.md"),
|
|
512
|
+
path.join(getRepoRoot(), "docs", "qa", "release-readiness-0.1.11.md"),
|
|
513
513
|
],
|
|
514
514
|
];
|
|
515
515
|
|