@t275005746/gse 0.1.0 → 0.1.1
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/.github/ISSUE_TEMPLATE/bug_report.yml +42 -42
- package/.github/ISSUE_TEMPLATE/change_request.yml +50 -50
- package/.github/ISSUE_TEMPLATE/config.yml +5 -5
- package/.github/PULL_REQUEST_TEMPLATE.md +38 -38
- package/.github/workflows/validate-gse.yml +33 -33
- package/.gse/README.md +18 -18
- package/.gse/gse-development-protocol.md +50 -50
- package/.gse/project-profile.md +29 -29
- package/.gse/quality-gates.md +25 -25
- package/.gse/releases/public-registry-publication-npm.md +49 -0
- package/.gse/releases/public-release-owner-required.md +65 -65
- package/.gse/releases/public-security-contact-owner-required.md +45 -45
- package/.gse/state.json +3 -4
- package/CHANGELOG.md +24 -24
- package/CONTRIBUTING.md +64 -64
- package/LICENSE +21 -21
- package/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/SECURITY.md +41 -41
- package/SUPPORT.md +38 -38
- package/assets/marketplace/README.md +7 -7
- package/assets/marketplace/gse-listing.json +75 -75
- package/assets/templates/acceptance-execution-packet.md +73 -73
- package/assets/templates/adr.md +14 -14
- package/assets/templates/change-brief.md +16 -16
- package/assets/templates/design.md +18 -18
- package/assets/templates/dispatch-packet.md +104 -104
- package/assets/templates/evidence.md +14 -14
- package/assets/templates/execution-quality-pack.md +65 -65
- package/assets/templates/goal-map.md +21 -21
- package/assets/templates/host-adapter.md +48 -48
- package/assets/templates/host-ui-invocation-record.md +42 -42
- package/assets/templates/incident-review.md +60 -60
- package/assets/templates/public-channel-publication-record.md +49 -49
- package/assets/templates/public-ci-run-record.md +53 -53
- package/assets/templates/public-release-record.md +65 -65
- package/assets/templates/public-repository-settings-record.md +59 -59
- package/assets/templates/public-security-contact-record.md +45 -45
- package/assets/templates/release-trust-record.md +32 -32
- package/assets/templates/review.md +18 -18
- package/assets/templates/spec.md +16 -16
- package/assets/templates/target-adoption-evidence.md +29 -29
- package/assets/templates/tasks.md +17 -17
- package/assets/templates/update-release-acceptance-record.md +58 -58
- package/examples/README.md +22 -22
- package/examples/agent-runtime-host/.claude/gse-adapter.md +6 -6
- package/examples/agent-runtime-host/.codex/gse-adapter.md +7 -7
- package/examples/agent-runtime-host/.gse/goal-map.md +7 -7
- package/examples/agent-runtime-host/.gse/project-profile.md +27 -27
- package/examples/agent-runtime-host/.gse/tooling.md +5 -5
- package/examples/agent-runtime-host/.mcp.json +9 -9
- package/examples/agent-runtime-host/AGENTS.md +5 -5
- package/examples/agent-runtime-host/README.md +10 -10
- package/examples/agent-runtime-host/docs/model-routing.md +5 -5
- package/examples/cli-tool/.gse/project-profile.md +21 -21
- package/examples/cli-tool/AGENTS.md +5 -5
- package/examples/cli-tool/README.md +12 -12
- package/examples/cli-tool/package.json +21 -21
- package/examples/small-app/.env.example +2 -2
- package/examples/small-app/.github/workflows/ci.yml +8 -8
- package/examples/small-app/AGENTS.md +5 -5
- package/examples/small-app/README.md +12 -12
- package/examples/small-app/package.json +26 -26
- package/examples/small-app/playwright.config.ts +4 -4
- package/package.json +53 -53
- package/references/adoption-recipes.md +171 -171
- package/references/agent-roles.md +49 -49
- package/references/architecture-health.md +101 -101
- package/references/benchmark-audit.md +73 -73
- package/references/community-channels.md +46 -46
- package/references/compatibility.md +70 -70
- package/references/design-basis.md +38 -38
- package/references/domain-model.md +129 -129
- package/references/domain-quality-gates.md +75 -75
- package/references/drift-audit.md +81 -81
- package/references/evidence-taxonomy.md +123 -123
- package/references/file-ownership.md +107 -107
- package/references/final-readiness.md +84 -84
- package/references/forward-test.md +133 -133
- package/references/goal-map.md +36 -36
- package/references/host-adapters.md +119 -119
- package/references/learning-system.md +35 -35
- package/references/marketplace-discovery.md +46 -46
- package/references/model-routing.md +103 -103
- package/references/open-source-defaults.md +39 -39
- package/references/operating-model.md +52 -52
- package/references/packaging.md +277 -277
- package/references/project-agent-workspace.md +89 -89
- package/references/project-bootstrap.md +122 -122
- package/references/project-profile.md +57 -57
- package/references/public-release.md +174 -174
- package/references/quality-gates.md +100 -100
- package/references/recovery.md +176 -176
- package/references/release-trust.md +43 -43
- package/references/release.md +126 -126
- package/references/review.md +141 -141
- package/references/router.md +90 -90
- package/references/spec-workflow.md +66 -66
- package/references/task-levels.md +81 -81
- package/references/tool-adapters.md +73 -73
- package/scripts/audit-acceptance-execution-packet.mjs +133 -133
- package/scripts/audit-adoption-recipes.mjs +99 -99
- package/scripts/audit-change-lifecycle.mjs +77 -77
- package/scripts/audit-change-system.mjs +134 -134
- package/scripts/audit-ci-readiness.mjs +107 -107
- package/scripts/audit-close-gate.mjs +323 -323
- package/scripts/audit-command-adapters.mjs +91 -91
- package/scripts/audit-command-execution.mjs +210 -210
- package/scripts/audit-compatibility.mjs +149 -149
- package/scripts/audit-completion-readiness.mjs +292 -292
- package/scripts/audit-distribution.mjs +251 -251
- package/scripts/audit-domain-quality-gates.mjs +108 -108
- package/scripts/audit-evidence-placeholders.mjs +126 -126
- package/scripts/audit-final-readiness-promotion.mjs +255 -255
- package/scripts/audit-final-readiness.mjs +226 -226
- package/scripts/audit-fixtures.mjs +154 -154
- package/scripts/audit-fresh-session-readiness.mjs +177 -177
- package/scripts/audit-host-runtime-evidence-handoff.mjs +159 -159
- package/scripts/audit-host-runtime-invocation-drill.mjs +240 -240
- package/scripts/audit-host-runtime-invocations.mjs +254 -254
- package/scripts/audit-host-ui-invocation.mjs +132 -132
- package/scripts/audit-marketplace-discovery.mjs +122 -122
- package/scripts/audit-npm-package-metadata.mjs +155 -155
- package/scripts/audit-npm-publish-dry-run.mjs +191 -169
- package/scripts/audit-npm-tarball-install.mjs +191 -191
- package/scripts/audit-open-source-defaults.mjs +92 -92
- package/scripts/audit-open-source-readiness.mjs +97 -97
- package/scripts/audit-project.mjs +138 -138
- package/scripts/audit-public-acceptance-command-dry-run-drill.mjs +203 -203
- package/scripts/audit-public-acceptance-readiness.mjs +224 -224
- package/scripts/audit-public-channel-publication.mjs +248 -248
- package/scripts/audit-public-ci-run.mjs +184 -184
- package/scripts/audit-public-collaboration-templates.mjs +98 -98
- package/scripts/audit-public-external-gate-probe.mjs +206 -206
- package/scripts/audit-public-release-decision.mjs +201 -201
- package/scripts/audit-public-release-metadata.mjs +176 -176
- package/scripts/audit-public-repository-settings.mjs +237 -237
- package/scripts/audit-public-security-contact.mjs +171 -171
- package/scripts/audit-readme-docs.mjs +6 -4
- package/scripts/audit-recovery-readiness.mjs +98 -98
- package/scripts/audit-release-readiness.mjs +106 -106
- package/scripts/audit-release-trust.mjs +62 -62
- package/scripts/audit-remote-distribution.mjs +266 -266
- package/scripts/audit-roadmap-consistency.mjs +235 -235
- package/scripts/audit-signing.mjs +147 -147
- package/scripts/audit-state-freshness.mjs +14 -9
- package/scripts/audit-target-adoption-evidence.mjs +117 -117
- package/scripts/audit-target-project.mjs +507 -507
- package/scripts/audit-update-release-acceptance.mjs +136 -136
- package/scripts/audit-v1-target-validation.mjs +269 -269
- package/scripts/audit-validation-profiles.mjs +125 -125
- package/scripts/close-change.mjs +116 -116
- package/scripts/discover-project-profile.mjs +307 -307
- package/scripts/generate-command-adapter.mjs +231 -231
- package/scripts/generate-final-acceptance-packet.mjs +181 -181
- package/scripts/generate-final-form-progress-report.mjs +205 -205
- package/scripts/generate-host-runtime-evidence-handoff.mjs +206 -206
- package/scripts/generate-owner-external-gate-kit.mjs +295 -295
- package/scripts/generate-public-acceptance-handoff.mjs +168 -168
- package/scripts/generate-public-release-checklist.mjs +207 -207
- package/scripts/generate-release-bundle.mjs +505 -505
- package/scripts/generate-release-owner-action-plan.mjs +172 -172
- package/scripts/generate-release-status-manifest.mjs +200 -200
- package/scripts/generate-session-prompt.mjs +188 -188
- package/scripts/gse.mjs +67 -67
- package/scripts/init-change.mjs +265 -265
- package/scripts/init-project.mjs +785 -785
- package/scripts/install-gse.mjs +234 -234
- package/scripts/lib/evidence-placeholders.mjs +28 -28
- package/scripts/package-gse.mjs +174 -174
- package/scripts/probe-public-external-gates.mjs +167 -167
- package/scripts/record-host-invocation.mjs +151 -151
- package/scripts/record-public-channel-publication.mjs +178 -178
- package/scripts/record-public-ci-run.mjs +180 -180
- package/scripts/record-public-release.mjs +175 -175
- package/scripts/record-public-repository-settings.mjs +209 -209
- package/scripts/record-public-security-contact.mjs +157 -157
- package/scripts/sign-gse-package.mjs +83 -83
- package/scripts/update-project-state.mjs +223 -223
- package/scripts/verify-gse-package.mjs +85 -85
|
@@ -1,292 +1,292 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import fs from 'node:fs'
|
|
3
|
-
import path from 'node:path'
|
|
4
|
-
|
|
5
|
-
const args = process.argv.slice(2)
|
|
6
|
-
|
|
7
|
-
function readArg(name, fallback = null) {
|
|
8
|
-
const index = args.indexOf(name)
|
|
9
|
-
if (index === -1) return fallback
|
|
10
|
-
return args[index + 1] ?? fallback
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
const root = path.resolve(readArg('--root', path.join(import.meta.dirname, '..')))
|
|
14
|
-
const jsonOnly = args.includes('--json')
|
|
15
|
-
|
|
16
|
-
function read(relativePath) {
|
|
17
|
-
const fullPath = path.join(root, relativePath)
|
|
18
|
-
return fs.existsSync(fullPath) ? fs.readFileSync(fullPath, 'utf8') : ''
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function exists(relativePath) {
|
|
22
|
-
return fs.existsSync(path.join(root, relativePath))
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
function check(id, label, ok, evidence, risk = '') {
|
|
26
|
-
return { id, label, status: ok ? 'passed' : 'failed', evidence, risk }
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const masterPlan = read('.gse/gse-design-master-plan.md')
|
|
30
|
-
const goalMap = read('.gse/goal-map.md')
|
|
31
|
-
const currentSlice = read('.gse/current-slice.md')
|
|
32
|
-
const evidence = read('.gse/evidence/2026-07-05.md')
|
|
33
|
-
const validate = read('scripts/validate-gse.mjs')
|
|
34
|
-
const ownerAcceptanceRecorded =
|
|
35
|
-
evidence.includes('Owner-approved AION project-local GSE adoption acceptance') &&
|
|
36
|
-
evidence.includes('Evidence status: accepted') &&
|
|
37
|
-
evidence.includes('Accepted by: owner-approved project write policy')
|
|
38
|
-
|
|
39
|
-
const localCapabilityAudits = [
|
|
40
|
-
'audit-gse.mjs',
|
|
41
|
-
'audit-project.mjs',
|
|
42
|
-
'audit-fixtures.mjs',
|
|
43
|
-
'audit-adoption.mjs',
|
|
44
|
-
'audit-host-adapters.mjs',
|
|
45
|
-
'audit-compatibility.mjs',
|
|
46
|
-
'audit-fresh-session-readiness.mjs',
|
|
47
|
-
'audit-release-readiness.mjs',
|
|
48
|
-
'audit-npm-package-metadata.mjs',
|
|
49
|
-
'audit-update-release-acceptance.mjs',
|
|
50
|
-
'audit-target-adoption-evidence.mjs',
|
|
51
|
-
'audit-target-project.mjs',
|
|
52
|
-
'audit-acceptance-execution-packet.mjs',
|
|
53
|
-
'audit-roadmap-consistency.mjs',
|
|
54
|
-
'audit-recovery-readiness.mjs',
|
|
55
|
-
'audit-domain-quality-gates.mjs',
|
|
56
|
-
'audit-adoption-recipes.mjs',
|
|
57
|
-
'audit-commands.mjs',
|
|
58
|
-
'audit-readme-docs.mjs',
|
|
59
|
-
'generate-session-prompt.mjs',
|
|
60
|
-
'run-gse-command.mjs',
|
|
61
|
-
'audit-command-execution.mjs',
|
|
62
|
-
'audit-close-gate.mjs',
|
|
63
|
-
'update-project-state.mjs',
|
|
64
|
-
'audit-v1-target-validation.mjs',
|
|
65
|
-
'audit-command-adapters.mjs',
|
|
66
|
-
'audit-change-lifecycle.mjs',
|
|
67
|
-
'audit-remote-distribution.mjs',
|
|
68
|
-
'audit-signing.mjs',
|
|
69
|
-
'audit-release-trust.mjs',
|
|
70
|
-
'audit-open-source-defaults.mjs',
|
|
71
|
-
'audit-public-release-metadata.mjs',
|
|
72
|
-
'record-public-release.mjs',
|
|
73
|
-
'audit-public-release-decision.mjs',
|
|
74
|
-
'audit-evidence-placeholders.mjs',
|
|
75
|
-
'record-public-ci-run.mjs',
|
|
76
|
-
'audit-public-ci-run.mjs',
|
|
77
|
-
'audit-release-bundle.mjs',
|
|
78
|
-
'generate-release-bundle.mjs',
|
|
79
|
-
'audit-open-source-readiness.mjs',
|
|
80
|
-
'audit-ci-readiness.mjs',
|
|
81
|
-
'audit-public-collaboration-templates.mjs',
|
|
82
|
-
'record-public-security-contact.mjs',
|
|
83
|
-
'audit-public-security-contact.mjs',
|
|
84
|
-
'record-public-repository-settings.mjs',
|
|
85
|
-
'audit-public-repository-settings.mjs',
|
|
86
|
-
'record-public-channel-publication.mjs',
|
|
87
|
-
'audit-public-channel-publication.mjs',
|
|
88
|
-
'audit-marketplace-discovery.mjs',
|
|
89
|
-
'audit-validation-profiles.mjs',
|
|
90
|
-
'audit-host-ui-invocation.mjs',
|
|
91
|
-
'audit-host-runtime-invocations.mjs',
|
|
92
|
-
'audit-host-runtime-invocation-drill.mjs',
|
|
93
|
-
'audit-final-readiness.mjs',
|
|
94
|
-
'audit-final-readiness-promotion.mjs',
|
|
95
|
-
'audit-public-acceptance-readiness.mjs',
|
|
96
|
-
'audit-public-acceptance-command-dry-run-drill.mjs',
|
|
97
|
-
'audit-public-external-gate-probe.mjs',
|
|
98
|
-
'audit-public-acceptance-handoff.mjs',
|
|
99
|
-
'audit-release-status-manifest.mjs',
|
|
100
|
-
'audit-release-owner-action-plan.mjs',
|
|
101
|
-
'audit-public-release-checklist.mjs',
|
|
102
|
-
'audit-release-owner-action-plan-drill.mjs',
|
|
103
|
-
'audit-final-form-progress-report.mjs',
|
|
104
|
-
'audit-local-final-form-completion.mjs',
|
|
105
|
-
'audit-final-form-stale-copy.mjs',
|
|
106
|
-
'audit-npm-tarball-install.mjs',
|
|
107
|
-
'audit-npm-publish-dry-run.mjs',
|
|
108
|
-
'audit-host-runtime-evidence-handoff.mjs',
|
|
109
|
-
'audit-owner-external-gate-kit.mjs',
|
|
110
|
-
'generate-final-acceptance-packet.mjs',
|
|
111
|
-
'audit-final-acceptance-packet.mjs',
|
|
112
|
-
]
|
|
113
|
-
|
|
114
|
-
const requiredArtifacts = [
|
|
115
|
-
'SKILL.md',
|
|
116
|
-
'.gse/gse-design-master-plan.md',
|
|
117
|
-
'.gse/goal-map.md',
|
|
118
|
-
'.gse/current-slice.md',
|
|
119
|
-
'assets/templates/acceptance-execution-packet.md',
|
|
120
|
-
'assets/templates/target-adoption-evidence.md',
|
|
121
|
-
'assets/templates/update-release-acceptance-record.md',
|
|
122
|
-
'references/evidence-taxonomy.md',
|
|
123
|
-
'references/forward-test.md',
|
|
124
|
-
'references/adoption-recipes.md',
|
|
125
|
-
'references/commands.md',
|
|
126
|
-
'README.md',
|
|
127
|
-
'README.zh-CN.md',
|
|
128
|
-
'CONTRIBUTING.md',
|
|
129
|
-
'SECURITY.md',
|
|
130
|
-
'SUPPORT.md',
|
|
131
|
-
'.github/workflows/validate-gse.yml',
|
|
132
|
-
'.github/PULL_REQUEST_TEMPLATE.md',
|
|
133
|
-
'.github/ISSUE_TEMPLATE/bug_report.yml',
|
|
134
|
-
'.github/ISSUE_TEMPLATE/change_request.yml',
|
|
135
|
-
'assets/templates/public-channel-publication-record.md',
|
|
136
|
-
'assets/templates/public-ci-run-record.md',
|
|
137
|
-
'assets/templates/public-security-contact-record.md',
|
|
138
|
-
'assets/templates/public-repository-settings-record.md',
|
|
139
|
-
'.gse/state.json',
|
|
140
|
-
'.gse/evidence/index.jsonl',
|
|
141
|
-
'scripts/generate-session-prompt.mjs',
|
|
142
|
-
'scripts/run-gse-command.mjs',
|
|
143
|
-
'scripts/audit-command-execution.mjs',
|
|
144
|
-
'scripts/audit-close-gate.mjs',
|
|
145
|
-
'scripts/update-project-state.mjs',
|
|
146
|
-
'scripts/audit-v1-target-validation.mjs',
|
|
147
|
-
'scripts/package-gse.mjs',
|
|
148
|
-
'scripts/install-gse.mjs',
|
|
149
|
-
'scripts/audit-npm-package-metadata.mjs',
|
|
150
|
-
'scripts/generate-command-adapter.mjs',
|
|
151
|
-
'scripts/audit-command-adapters.mjs',
|
|
152
|
-
'scripts/close-change.mjs',
|
|
153
|
-
'scripts/audit-change-lifecycle.mjs',
|
|
154
|
-
'scripts/audit-remote-distribution.mjs',
|
|
155
|
-
'scripts/sign-gse-package.mjs',
|
|
156
|
-
'scripts/verify-gse-package.mjs',
|
|
157
|
-
'scripts/audit-signing.mjs',
|
|
158
|
-
'references/release-trust.md',
|
|
159
|
-
'assets/templates/release-trust-record.md',
|
|
160
|
-
'scripts/audit-release-trust.mjs',
|
|
161
|
-
'scripts/audit-open-source-defaults.mjs',
|
|
162
|
-
'references/public-release.md',
|
|
163
|
-
'assets/templates/public-release-record.md',
|
|
164
|
-
'scripts/audit-public-release-metadata.mjs',
|
|
165
|
-
'scripts/record-public-release.mjs',
|
|
166
|
-
'scripts/audit-public-release-decision.mjs',
|
|
167
|
-
'scripts/audit-evidence-placeholders.mjs',
|
|
168
|
-
'scripts/record-public-ci-run.mjs',
|
|
169
|
-
'scripts/audit-public-ci-run.mjs',
|
|
170
|
-
'scripts/generate-release-bundle.mjs',
|
|
171
|
-
'scripts/audit-release-bundle.mjs',
|
|
172
|
-
'scripts/audit-open-source-readiness.mjs',
|
|
173
|
-
'scripts/audit-ci-readiness.mjs',
|
|
174
|
-
'scripts/audit-public-collaboration-templates.mjs',
|
|
175
|
-
'scripts/record-public-security-contact.mjs',
|
|
176
|
-
'scripts/audit-public-security-contact.mjs',
|
|
177
|
-
'scripts/record-public-repository-settings.mjs',
|
|
178
|
-
'scripts/audit-public-repository-settings.mjs',
|
|
179
|
-
'scripts/record-public-channel-publication.mjs',
|
|
180
|
-
'scripts/audit-public-channel-publication.mjs',
|
|
181
|
-
'.gse/releases/public-release-owner-required.md',
|
|
182
|
-
'.gse/releases/public-security-contact-owner-required.md',
|
|
183
|
-
'references/marketplace-discovery.md',
|
|
184
|
-
'assets/marketplace/gse-listing.json',
|
|
185
|
-
'scripts/audit-marketplace-discovery.mjs',
|
|
186
|
-
'scripts/audit-validation-profiles.mjs',
|
|
187
|
-
'scripts/run-validation-profile.mjs',
|
|
188
|
-
'assets/templates/host-ui-invocation-record.md',
|
|
189
|
-
'scripts/audit-host-ui-invocation.mjs',
|
|
190
|
-
'scripts/record-host-invocation.mjs',
|
|
191
|
-
'scripts/audit-host-runtime-invocations.mjs',
|
|
192
|
-
'scripts/audit-host-runtime-invocation-drill.mjs',
|
|
193
|
-
'references/final-readiness.md',
|
|
194
|
-
'scripts/audit-final-readiness.mjs',
|
|
195
|
-
'scripts/audit-final-readiness-promotion.mjs',
|
|
196
|
-
'scripts/audit-public-acceptance-readiness.mjs',
|
|
197
|
-
'scripts/audit-public-acceptance-command-dry-run-drill.mjs',
|
|
198
|
-
'scripts/probe-public-external-gates.mjs',
|
|
199
|
-
'scripts/audit-public-external-gate-probe.mjs',
|
|
200
|
-
'scripts/generate-public-acceptance-handoff.mjs',
|
|
201
|
-
'scripts/audit-public-acceptance-handoff.mjs',
|
|
202
|
-
'scripts/generate-release-status-manifest.mjs',
|
|
203
|
-
'scripts/audit-release-status-manifest.mjs',
|
|
204
|
-
'scripts/generate-release-owner-action-plan.mjs',
|
|
205
|
-
'scripts/audit-release-owner-action-plan.mjs',
|
|
206
|
-
'scripts/generate-public-release-checklist.mjs',
|
|
207
|
-
'scripts/audit-public-release-checklist.mjs',
|
|
208
|
-
'scripts/audit-release-owner-action-plan-drill.mjs',
|
|
209
|
-
'scripts/generate-final-form-progress-report.mjs',
|
|
210
|
-
'scripts/audit-final-form-progress-report.mjs',
|
|
211
|
-
'scripts/audit-local-final-form-completion.mjs',
|
|
212
|
-
'scripts/audit-final-form-stale-copy.mjs',
|
|
213
|
-
'scripts/audit-npm-tarball-install.mjs',
|
|
214
|
-
'scripts/audit-npm-publish-dry-run.mjs',
|
|
215
|
-
'scripts/generate-host-runtime-evidence-handoff.mjs',
|
|
216
|
-
'scripts/audit-host-runtime-evidence-handoff.mjs',
|
|
217
|
-
'scripts/generate-owner-external-gate-kit.mjs',
|
|
218
|
-
'scripts/audit-owner-external-gate-kit.mjs',
|
|
219
|
-
'scripts/generate-final-acceptance-packet.mjs',
|
|
220
|
-
'scripts/audit-final-acceptance-packet.mjs',
|
|
221
|
-
'.gse/acceptance/final-form-progress-report.md',
|
|
222
|
-
'.gse/acceptance/final-form-progress-report.json',
|
|
223
|
-
'.gse/acceptance/public-acceptance-handoff.md',
|
|
224
|
-
'.gse/acceptance/release-status-manifest.json',
|
|
225
|
-
'.gse/acceptance/release-owner-action-plan.md',
|
|
226
|
-
'.gse/acceptance/public-release-checklist.md',
|
|
227
|
-
'.gse/acceptance/owner-external-gate-kit/README.md',
|
|
228
|
-
'.gse/acceptance/owner-external-gate-kit/kit-manifest.json',
|
|
229
|
-
'.gse/release-bundles/gse-release-bundle-audit/installable-package/gse-package-manifest.json',
|
|
230
|
-
'.gse/release-bundles/gse-release-bundle-audit/public-release-checklist.md',
|
|
231
|
-
'.gse/release-bundles/gse-release-bundle-audit/provenance.json',
|
|
232
|
-
'.gse/release-bundles/gse-release-bundle-audit/checksums.sha256',
|
|
233
|
-
]
|
|
234
|
-
|
|
235
|
-
const checks = [
|
|
236
|
-
check('CR01', 'completion readiness audit is wired into validator', validate.includes('audit-completion-readiness.mjs'), 'scripts/validate-gse.mjs'),
|
|
237
|
-
check('CR02', 'all local capability audits are wired into validator', localCapabilityAudits.every((item) => validate.includes(item)), localCapabilityAudits.join(', ')),
|
|
238
|
-
check('CR03', 'required completion artifacts exist', requiredArtifacts.every(exists), requiredArtifacts.join(', ')),
|
|
239
|
-
check('CR04', 'master plan records verified v1 execution-state target validation and current license state', masterPlan.includes('owner-approved AION project-write acceptance is executed') && masterPlan.includes('Status: verified.') && masterPlan.includes('AION/MuseFlow v1 target validation are verified') && masterPlan.includes('MIT license decision') && !masterPlan.includes('owner license selection remains required before an accepted public release'), '.gse/gse-design-master-plan.md'),
|
|
240
|
-
check('CR05', 'current slice preserves required GSE slice fields after acceptance', currentSlice.includes('## Outcome') && currentSlice.includes('## Scope') && currentSlice.includes('## Acceptance') && currentSlice.includes('## Evidence Plan') && currentSlice.includes('## Risk') && currentSlice.includes('## Next Action'), '.gse/current-slice.md'),
|
|
241
|
-
check('CR06', 'goal map records v1 execution-state work as verified', goalMap.includes('GSE-008') && goalMap.includes('Productize v1.0 execution-state workflow') && goalMap.includes('verified') && goalMap.includes('audit-v1-target-validation.mjs'), '.gse/goal-map.md'),
|
|
242
|
-
check('CR07', 'evidence log records owner-approved external acceptance', ownerAcceptanceRecorded, '.gse/evidence/2026-07-05.md'),
|
|
243
|
-
check('CR08', 'final-form limits are explicit after current scope can be claimed', masterPlan.includes('Remaining final-form work is
|
|
244
|
-
]
|
|
245
|
-
|
|
246
|
-
const passed = checks.filter((item) => item.status === 'passed').length
|
|
247
|
-
const failed = checks.length - passed
|
|
248
|
-
const report = {
|
|
249
|
-
root,
|
|
250
|
-
generatedAt: new Date().toISOString(),
|
|
251
|
-
summary: { status: failed === 0 ? 'passed' : 'failed', passed, failed, total: checks.length },
|
|
252
|
-
workflows: { completionReadiness: failed === 0 ? 'current-scope-validated' : 'failed' },
|
|
253
|
-
completionStatus: failed === 0 ? 'complete for current verified scope: target validation, local distribution, npm package metadata, npm tarball installability, remote URL distribution with integrity, package signing/verification, portable command execution, validation profiles, release trust policy, open-source defaults, public release metadata workflow, MIT license decision, public release decision lifecycle, public evidence placeholder rejection, public CI run record mechanics, public channel publication record mechanics, public external gate live probe mechanics, release bundle generation, release status manifest, release owner action plan, release owner action plan drill, open-source repository readiness, CI workflow readiness, public collaboration templates, public security contact record mechanics, public repository settings record mechanics, marketplace discovery metadata, host runtime invocation record mechanics, host runtime invocation fixture drill, host runtime evidence handoff, final readiness matrix, final readiness accepted-record promotion, public acceptance doctor, public acceptance command dry-run drill, public acceptance handoff, final-form progress report, final acceptance packet, owner/external gate kit and canonical freshness audit, final-form stale-copy audit, Codex text-command host invocation, command-adapter generation, and real-workspace change archive lifecycle are verified;
|
|
254
|
-
limits: [
|
|
255
|
-
'This audit verifies GSE scaffold readiness and v1 execution-state target validation tracking.',
|
|
256
|
-
'It does not certify arbitrary repositories, public registry publication, marketplace install, CI, MCP, LSP, subagent runtime, or fresh-session execution.',
|
|
257
|
-
'It does not certify real remote-machine network conditions, marketplace approval, native slash-command execution, other host runtime invocation, or arbitrary repositories.',
|
|
258
|
-
],
|
|
259
|
-
checks,
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
function renderMarkdown(data) {
|
|
263
|
-
const lines = []
|
|
264
|
-
lines.push('# GSE Completion Readiness Audit')
|
|
265
|
-
lines.push('')
|
|
266
|
-
lines.push('Generated: ' + data.generatedAt)
|
|
267
|
-
lines.push('Root: ' + data.root)
|
|
268
|
-
lines.push('')
|
|
269
|
-
lines.push('## Summary')
|
|
270
|
-
lines.push('')
|
|
271
|
-
lines.push('- Status: ' + data.summary.status)
|
|
272
|
-
lines.push('- Checks: ' + data.summary.passed + '/' + data.summary.total)
|
|
273
|
-
lines.push('- Completion readiness: ' + data.workflows.completionReadiness)
|
|
274
|
-
lines.push('- Completion status: ' + data.completionStatus)
|
|
275
|
-
lines.push('')
|
|
276
|
-
lines.push('## Checks')
|
|
277
|
-
lines.push('')
|
|
278
|
-
for (const item of data.checks) {
|
|
279
|
-
const marker = item.status === 'passed' ? '[x]' : '[ ]'
|
|
280
|
-
lines.push('- ' + marker + ' ' + item.id + ' ' + item.label + ': ' + item.evidence)
|
|
281
|
-
}
|
|
282
|
-
lines.push('')
|
|
283
|
-
lines.push('## Limits')
|
|
284
|
-
lines.push('')
|
|
285
|
-
for (const item of data.limits) lines.push('- ' + item)
|
|
286
|
-
return lines.join('\n') + '\n'
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
if (jsonOnly) console.log(JSON.stringify(report, null, 2))
|
|
290
|
-
else console.log(renderMarkdown(report))
|
|
291
|
-
|
|
292
|
-
if (failed > 0) process.exit(1)
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from 'node:fs'
|
|
3
|
+
import path from 'node:path'
|
|
4
|
+
|
|
5
|
+
const args = process.argv.slice(2)
|
|
6
|
+
|
|
7
|
+
function readArg(name, fallback = null) {
|
|
8
|
+
const index = args.indexOf(name)
|
|
9
|
+
if (index === -1) return fallback
|
|
10
|
+
return args[index + 1] ?? fallback
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const root = path.resolve(readArg('--root', path.join(import.meta.dirname, '..')))
|
|
14
|
+
const jsonOnly = args.includes('--json')
|
|
15
|
+
|
|
16
|
+
function read(relativePath) {
|
|
17
|
+
const fullPath = path.join(root, relativePath)
|
|
18
|
+
return fs.existsSync(fullPath) ? fs.readFileSync(fullPath, 'utf8') : ''
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function exists(relativePath) {
|
|
22
|
+
return fs.existsSync(path.join(root, relativePath))
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function check(id, label, ok, evidence, risk = '') {
|
|
26
|
+
return { id, label, status: ok ? 'passed' : 'failed', evidence, risk }
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const masterPlan = read('.gse/gse-design-master-plan.md')
|
|
30
|
+
const goalMap = read('.gse/goal-map.md')
|
|
31
|
+
const currentSlice = read('.gse/current-slice.md')
|
|
32
|
+
const evidence = read('.gse/evidence/2026-07-05.md')
|
|
33
|
+
const validate = read('scripts/validate-gse.mjs')
|
|
34
|
+
const ownerAcceptanceRecorded =
|
|
35
|
+
evidence.includes('Owner-approved AION project-local GSE adoption acceptance') &&
|
|
36
|
+
evidence.includes('Evidence status: accepted') &&
|
|
37
|
+
evidence.includes('Accepted by: owner-approved project write policy')
|
|
38
|
+
|
|
39
|
+
const localCapabilityAudits = [
|
|
40
|
+
'audit-gse.mjs',
|
|
41
|
+
'audit-project.mjs',
|
|
42
|
+
'audit-fixtures.mjs',
|
|
43
|
+
'audit-adoption.mjs',
|
|
44
|
+
'audit-host-adapters.mjs',
|
|
45
|
+
'audit-compatibility.mjs',
|
|
46
|
+
'audit-fresh-session-readiness.mjs',
|
|
47
|
+
'audit-release-readiness.mjs',
|
|
48
|
+
'audit-npm-package-metadata.mjs',
|
|
49
|
+
'audit-update-release-acceptance.mjs',
|
|
50
|
+
'audit-target-adoption-evidence.mjs',
|
|
51
|
+
'audit-target-project.mjs',
|
|
52
|
+
'audit-acceptance-execution-packet.mjs',
|
|
53
|
+
'audit-roadmap-consistency.mjs',
|
|
54
|
+
'audit-recovery-readiness.mjs',
|
|
55
|
+
'audit-domain-quality-gates.mjs',
|
|
56
|
+
'audit-adoption-recipes.mjs',
|
|
57
|
+
'audit-commands.mjs',
|
|
58
|
+
'audit-readme-docs.mjs',
|
|
59
|
+
'generate-session-prompt.mjs',
|
|
60
|
+
'run-gse-command.mjs',
|
|
61
|
+
'audit-command-execution.mjs',
|
|
62
|
+
'audit-close-gate.mjs',
|
|
63
|
+
'update-project-state.mjs',
|
|
64
|
+
'audit-v1-target-validation.mjs',
|
|
65
|
+
'audit-command-adapters.mjs',
|
|
66
|
+
'audit-change-lifecycle.mjs',
|
|
67
|
+
'audit-remote-distribution.mjs',
|
|
68
|
+
'audit-signing.mjs',
|
|
69
|
+
'audit-release-trust.mjs',
|
|
70
|
+
'audit-open-source-defaults.mjs',
|
|
71
|
+
'audit-public-release-metadata.mjs',
|
|
72
|
+
'record-public-release.mjs',
|
|
73
|
+
'audit-public-release-decision.mjs',
|
|
74
|
+
'audit-evidence-placeholders.mjs',
|
|
75
|
+
'record-public-ci-run.mjs',
|
|
76
|
+
'audit-public-ci-run.mjs',
|
|
77
|
+
'audit-release-bundle.mjs',
|
|
78
|
+
'generate-release-bundle.mjs',
|
|
79
|
+
'audit-open-source-readiness.mjs',
|
|
80
|
+
'audit-ci-readiness.mjs',
|
|
81
|
+
'audit-public-collaboration-templates.mjs',
|
|
82
|
+
'record-public-security-contact.mjs',
|
|
83
|
+
'audit-public-security-contact.mjs',
|
|
84
|
+
'record-public-repository-settings.mjs',
|
|
85
|
+
'audit-public-repository-settings.mjs',
|
|
86
|
+
'record-public-channel-publication.mjs',
|
|
87
|
+
'audit-public-channel-publication.mjs',
|
|
88
|
+
'audit-marketplace-discovery.mjs',
|
|
89
|
+
'audit-validation-profiles.mjs',
|
|
90
|
+
'audit-host-ui-invocation.mjs',
|
|
91
|
+
'audit-host-runtime-invocations.mjs',
|
|
92
|
+
'audit-host-runtime-invocation-drill.mjs',
|
|
93
|
+
'audit-final-readiness.mjs',
|
|
94
|
+
'audit-final-readiness-promotion.mjs',
|
|
95
|
+
'audit-public-acceptance-readiness.mjs',
|
|
96
|
+
'audit-public-acceptance-command-dry-run-drill.mjs',
|
|
97
|
+
'audit-public-external-gate-probe.mjs',
|
|
98
|
+
'audit-public-acceptance-handoff.mjs',
|
|
99
|
+
'audit-release-status-manifest.mjs',
|
|
100
|
+
'audit-release-owner-action-plan.mjs',
|
|
101
|
+
'audit-public-release-checklist.mjs',
|
|
102
|
+
'audit-release-owner-action-plan-drill.mjs',
|
|
103
|
+
'audit-final-form-progress-report.mjs',
|
|
104
|
+
'audit-local-final-form-completion.mjs',
|
|
105
|
+
'audit-final-form-stale-copy.mjs',
|
|
106
|
+
'audit-npm-tarball-install.mjs',
|
|
107
|
+
'audit-npm-publish-dry-run.mjs',
|
|
108
|
+
'audit-host-runtime-evidence-handoff.mjs',
|
|
109
|
+
'audit-owner-external-gate-kit.mjs',
|
|
110
|
+
'generate-final-acceptance-packet.mjs',
|
|
111
|
+
'audit-final-acceptance-packet.mjs',
|
|
112
|
+
]
|
|
113
|
+
|
|
114
|
+
const requiredArtifacts = [
|
|
115
|
+
'SKILL.md',
|
|
116
|
+
'.gse/gse-design-master-plan.md',
|
|
117
|
+
'.gse/goal-map.md',
|
|
118
|
+
'.gse/current-slice.md',
|
|
119
|
+
'assets/templates/acceptance-execution-packet.md',
|
|
120
|
+
'assets/templates/target-adoption-evidence.md',
|
|
121
|
+
'assets/templates/update-release-acceptance-record.md',
|
|
122
|
+
'references/evidence-taxonomy.md',
|
|
123
|
+
'references/forward-test.md',
|
|
124
|
+
'references/adoption-recipes.md',
|
|
125
|
+
'references/commands.md',
|
|
126
|
+
'README.md',
|
|
127
|
+
'README.zh-CN.md',
|
|
128
|
+
'CONTRIBUTING.md',
|
|
129
|
+
'SECURITY.md',
|
|
130
|
+
'SUPPORT.md',
|
|
131
|
+
'.github/workflows/validate-gse.yml',
|
|
132
|
+
'.github/PULL_REQUEST_TEMPLATE.md',
|
|
133
|
+
'.github/ISSUE_TEMPLATE/bug_report.yml',
|
|
134
|
+
'.github/ISSUE_TEMPLATE/change_request.yml',
|
|
135
|
+
'assets/templates/public-channel-publication-record.md',
|
|
136
|
+
'assets/templates/public-ci-run-record.md',
|
|
137
|
+
'assets/templates/public-security-contact-record.md',
|
|
138
|
+
'assets/templates/public-repository-settings-record.md',
|
|
139
|
+
'.gse/state.json',
|
|
140
|
+
'.gse/evidence/index.jsonl',
|
|
141
|
+
'scripts/generate-session-prompt.mjs',
|
|
142
|
+
'scripts/run-gse-command.mjs',
|
|
143
|
+
'scripts/audit-command-execution.mjs',
|
|
144
|
+
'scripts/audit-close-gate.mjs',
|
|
145
|
+
'scripts/update-project-state.mjs',
|
|
146
|
+
'scripts/audit-v1-target-validation.mjs',
|
|
147
|
+
'scripts/package-gse.mjs',
|
|
148
|
+
'scripts/install-gse.mjs',
|
|
149
|
+
'scripts/audit-npm-package-metadata.mjs',
|
|
150
|
+
'scripts/generate-command-adapter.mjs',
|
|
151
|
+
'scripts/audit-command-adapters.mjs',
|
|
152
|
+
'scripts/close-change.mjs',
|
|
153
|
+
'scripts/audit-change-lifecycle.mjs',
|
|
154
|
+
'scripts/audit-remote-distribution.mjs',
|
|
155
|
+
'scripts/sign-gse-package.mjs',
|
|
156
|
+
'scripts/verify-gse-package.mjs',
|
|
157
|
+
'scripts/audit-signing.mjs',
|
|
158
|
+
'references/release-trust.md',
|
|
159
|
+
'assets/templates/release-trust-record.md',
|
|
160
|
+
'scripts/audit-release-trust.mjs',
|
|
161
|
+
'scripts/audit-open-source-defaults.mjs',
|
|
162
|
+
'references/public-release.md',
|
|
163
|
+
'assets/templates/public-release-record.md',
|
|
164
|
+
'scripts/audit-public-release-metadata.mjs',
|
|
165
|
+
'scripts/record-public-release.mjs',
|
|
166
|
+
'scripts/audit-public-release-decision.mjs',
|
|
167
|
+
'scripts/audit-evidence-placeholders.mjs',
|
|
168
|
+
'scripts/record-public-ci-run.mjs',
|
|
169
|
+
'scripts/audit-public-ci-run.mjs',
|
|
170
|
+
'scripts/generate-release-bundle.mjs',
|
|
171
|
+
'scripts/audit-release-bundle.mjs',
|
|
172
|
+
'scripts/audit-open-source-readiness.mjs',
|
|
173
|
+
'scripts/audit-ci-readiness.mjs',
|
|
174
|
+
'scripts/audit-public-collaboration-templates.mjs',
|
|
175
|
+
'scripts/record-public-security-contact.mjs',
|
|
176
|
+
'scripts/audit-public-security-contact.mjs',
|
|
177
|
+
'scripts/record-public-repository-settings.mjs',
|
|
178
|
+
'scripts/audit-public-repository-settings.mjs',
|
|
179
|
+
'scripts/record-public-channel-publication.mjs',
|
|
180
|
+
'scripts/audit-public-channel-publication.mjs',
|
|
181
|
+
'.gse/releases/public-release-owner-required.md',
|
|
182
|
+
'.gse/releases/public-security-contact-owner-required.md',
|
|
183
|
+
'references/marketplace-discovery.md',
|
|
184
|
+
'assets/marketplace/gse-listing.json',
|
|
185
|
+
'scripts/audit-marketplace-discovery.mjs',
|
|
186
|
+
'scripts/audit-validation-profiles.mjs',
|
|
187
|
+
'scripts/run-validation-profile.mjs',
|
|
188
|
+
'assets/templates/host-ui-invocation-record.md',
|
|
189
|
+
'scripts/audit-host-ui-invocation.mjs',
|
|
190
|
+
'scripts/record-host-invocation.mjs',
|
|
191
|
+
'scripts/audit-host-runtime-invocations.mjs',
|
|
192
|
+
'scripts/audit-host-runtime-invocation-drill.mjs',
|
|
193
|
+
'references/final-readiness.md',
|
|
194
|
+
'scripts/audit-final-readiness.mjs',
|
|
195
|
+
'scripts/audit-final-readiness-promotion.mjs',
|
|
196
|
+
'scripts/audit-public-acceptance-readiness.mjs',
|
|
197
|
+
'scripts/audit-public-acceptance-command-dry-run-drill.mjs',
|
|
198
|
+
'scripts/probe-public-external-gates.mjs',
|
|
199
|
+
'scripts/audit-public-external-gate-probe.mjs',
|
|
200
|
+
'scripts/generate-public-acceptance-handoff.mjs',
|
|
201
|
+
'scripts/audit-public-acceptance-handoff.mjs',
|
|
202
|
+
'scripts/generate-release-status-manifest.mjs',
|
|
203
|
+
'scripts/audit-release-status-manifest.mjs',
|
|
204
|
+
'scripts/generate-release-owner-action-plan.mjs',
|
|
205
|
+
'scripts/audit-release-owner-action-plan.mjs',
|
|
206
|
+
'scripts/generate-public-release-checklist.mjs',
|
|
207
|
+
'scripts/audit-public-release-checklist.mjs',
|
|
208
|
+
'scripts/audit-release-owner-action-plan-drill.mjs',
|
|
209
|
+
'scripts/generate-final-form-progress-report.mjs',
|
|
210
|
+
'scripts/audit-final-form-progress-report.mjs',
|
|
211
|
+
'scripts/audit-local-final-form-completion.mjs',
|
|
212
|
+
'scripts/audit-final-form-stale-copy.mjs',
|
|
213
|
+
'scripts/audit-npm-tarball-install.mjs',
|
|
214
|
+
'scripts/audit-npm-publish-dry-run.mjs',
|
|
215
|
+
'scripts/generate-host-runtime-evidence-handoff.mjs',
|
|
216
|
+
'scripts/audit-host-runtime-evidence-handoff.mjs',
|
|
217
|
+
'scripts/generate-owner-external-gate-kit.mjs',
|
|
218
|
+
'scripts/audit-owner-external-gate-kit.mjs',
|
|
219
|
+
'scripts/generate-final-acceptance-packet.mjs',
|
|
220
|
+
'scripts/audit-final-acceptance-packet.mjs',
|
|
221
|
+
'.gse/acceptance/final-form-progress-report.md',
|
|
222
|
+
'.gse/acceptance/final-form-progress-report.json',
|
|
223
|
+
'.gse/acceptance/public-acceptance-handoff.md',
|
|
224
|
+
'.gse/acceptance/release-status-manifest.json',
|
|
225
|
+
'.gse/acceptance/release-owner-action-plan.md',
|
|
226
|
+
'.gse/acceptance/public-release-checklist.md',
|
|
227
|
+
'.gse/acceptance/owner-external-gate-kit/README.md',
|
|
228
|
+
'.gse/acceptance/owner-external-gate-kit/kit-manifest.json',
|
|
229
|
+
'.gse/release-bundles/gse-release-bundle-audit/installable-package/gse-package-manifest.json',
|
|
230
|
+
'.gse/release-bundles/gse-release-bundle-audit/public-release-checklist.md',
|
|
231
|
+
'.gse/release-bundles/gse-release-bundle-audit/provenance.json',
|
|
232
|
+
'.gse/release-bundles/gse-release-bundle-audit/checksums.sha256',
|
|
233
|
+
]
|
|
234
|
+
|
|
235
|
+
const checks = [
|
|
236
|
+
check('CR01', 'completion readiness audit is wired into validator', validate.includes('audit-completion-readiness.mjs'), 'scripts/validate-gse.mjs'),
|
|
237
|
+
check('CR02', 'all local capability audits are wired into validator', localCapabilityAudits.every((item) => validate.includes(item)), localCapabilityAudits.join(', ')),
|
|
238
|
+
check('CR03', 'required completion artifacts exist', requiredArtifacts.every(exists), requiredArtifacts.join(', ')),
|
|
239
|
+
check('CR04', 'master plan records verified v1 execution-state target validation and current license state', masterPlan.includes('owner-approved AION project-write acceptance is executed') && masterPlan.includes('Status: verified.') && masterPlan.includes('AION/MuseFlow v1 target validation are verified') && masterPlan.includes('MIT license decision') && !masterPlan.includes('owner license selection remains required before an accepted public release'), '.gse/gse-design-master-plan.md'),
|
|
240
|
+
check('CR05', 'current slice preserves required GSE slice fields after acceptance', currentSlice.includes('## Outcome') && currentSlice.includes('## Scope') && currentSlice.includes('## Acceptance') && currentSlice.includes('## Evidence Plan') && currentSlice.includes('## Risk') && currentSlice.includes('## Next Action'), '.gse/current-slice.md'),
|
|
241
|
+
check('CR06', 'goal map records v1 execution-state work as verified', goalMap.includes('GSE-008') && goalMap.includes('Productize v1.0 execution-state workflow') && goalMap.includes('verified') && goalMap.includes('audit-v1-target-validation.mjs'), '.gse/goal-map.md'),
|
|
242
|
+
check('CR07', 'evidence log records owner-approved external acceptance', ownerAcceptanceRecorded, '.gse/evidence/2026-07-05.md'),
|
|
243
|
+
check('CR08', 'final-form limits are explicit after current scope can be claimed', masterPlan.includes('Remaining final-form work is host-native slash-command support with real host runtime evidence.') && goalMap.includes('Final-form gaps'), 'control docs keep final-form limits scoped'),
|
|
244
|
+
]
|
|
245
|
+
|
|
246
|
+
const passed = checks.filter((item) => item.status === 'passed').length
|
|
247
|
+
const failed = checks.length - passed
|
|
248
|
+
const report = {
|
|
249
|
+
root,
|
|
250
|
+
generatedAt: new Date().toISOString(),
|
|
251
|
+
summary: { status: failed === 0 ? 'passed' : 'failed', passed, failed, total: checks.length },
|
|
252
|
+
workflows: { completionReadiness: failed === 0 ? 'current-scope-validated' : 'failed' },
|
|
253
|
+
completionStatus: failed === 0 ? 'complete for current verified scope: target validation, local distribution, npm package metadata, npm tarball installability, remote URL distribution with integrity, package signing/verification, portable command execution, validation profiles, release trust policy, open-source defaults, public release metadata workflow, MIT license decision, public release decision lifecycle, public evidence placeholder rejection, public CI run record mechanics, public channel publication record mechanics, public external gate live probe mechanics, release bundle generation, release status manifest, release owner action plan, release owner action plan drill, open-source repository readiness, CI workflow readiness, public collaboration templates, public security contact record mechanics, public repository settings record mechanics, marketplace discovery metadata, npm public registry publication evidence, host runtime invocation record mechanics, host runtime invocation fixture drill, host runtime evidence handoff, final readiness matrix, final readiness accepted-record promotion, public acceptance doctor, public acceptance command dry-run drill, public acceptance handoff, final-form progress report, final acceptance packet, owner/external gate kit and canonical freshness audit, final-form stale-copy audit, Codex text-command host invocation, command-adapter generation, and real-workspace change archive lifecycle are verified; native slash-command support remains external-gated work' : 'not ready: roadmap or evidence state is inconsistent',
|
|
254
|
+
limits: [
|
|
255
|
+
'This audit verifies GSE scaffold readiness and v1 execution-state target validation tracking.',
|
|
256
|
+
'It does not certify arbitrary repositories, public registry publication, marketplace install, CI, MCP, LSP, subagent runtime, or fresh-session execution.',
|
|
257
|
+
'It does not certify real remote-machine network conditions, marketplace approval, native slash-command execution, other host runtime invocation, or arbitrary repositories.',
|
|
258
|
+
],
|
|
259
|
+
checks,
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
function renderMarkdown(data) {
|
|
263
|
+
const lines = []
|
|
264
|
+
lines.push('# GSE Completion Readiness Audit')
|
|
265
|
+
lines.push('')
|
|
266
|
+
lines.push('Generated: ' + data.generatedAt)
|
|
267
|
+
lines.push('Root: ' + data.root)
|
|
268
|
+
lines.push('')
|
|
269
|
+
lines.push('## Summary')
|
|
270
|
+
lines.push('')
|
|
271
|
+
lines.push('- Status: ' + data.summary.status)
|
|
272
|
+
lines.push('- Checks: ' + data.summary.passed + '/' + data.summary.total)
|
|
273
|
+
lines.push('- Completion readiness: ' + data.workflows.completionReadiness)
|
|
274
|
+
lines.push('- Completion status: ' + data.completionStatus)
|
|
275
|
+
lines.push('')
|
|
276
|
+
lines.push('## Checks')
|
|
277
|
+
lines.push('')
|
|
278
|
+
for (const item of data.checks) {
|
|
279
|
+
const marker = item.status === 'passed' ? '[x]' : '[ ]'
|
|
280
|
+
lines.push('- ' + marker + ' ' + item.id + ' ' + item.label + ': ' + item.evidence)
|
|
281
|
+
}
|
|
282
|
+
lines.push('')
|
|
283
|
+
lines.push('## Limits')
|
|
284
|
+
lines.push('')
|
|
285
|
+
for (const item of data.limits) lines.push('- ' + item)
|
|
286
|
+
return lines.join('\n') + '\n'
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
if (jsonOnly) console.log(JSON.stringify(report, null, 2))
|
|
290
|
+
else console.log(renderMarkdown(report))
|
|
291
|
+
|
|
292
|
+
if (failed > 0) process.exit(1)
|