diff --git a/README.md b/README.md index 5217f15..0994c7a 100644 --- a/README.md +++ b/README.md @@ -41,12 +41,18 @@ Step 1 — obtain the repository source. Canonical project coordinates are recor | Field | Value | State | |---|---|---| -| `homepage` | `https://wiki.omp.loca.zone/` | Live | -| `bugs.url` | `https://wiki.omp.loca.zone/` | Live | +| `homepage` | `https://wiki.pom.loca.zone/` | Live | +| `bugs.url` | `https://wiki.pom.loca.zone/` | Live | | `bugs.email` | `antigravity@loca.zone` | Live | -| `repository.url` | `git+https://omp.loca.zone/pom-omp.git` | Reserved — not yet serving Git | +| `repository.url` | `git+https://git.omp.loca.zone/jamminrebel/pom-omp.git` | Live — self-hosted Gitea, anonymous clone | -There is deliberately no public forge mirror: this package has never been published to npm, and no GitHub or self-hosted Git endpoint exists for it today. Until `repository.url` is actually served, obtain the checkout out of band from the maintainer. Do not substitute a third-party URL that has not been confirmed. +There is deliberately no public forge mirror and this package has never been published to npm. Clone from the owned endpoint: + +```bash +git clone https://git.omp.loca.zone/jamminrebel/pom-omp.git +``` + +Do not substitute a third-party URL that has not been confirmed. Step 2 — install, verify, and link from the checkout root: @@ -56,7 +62,7 @@ npm run verify npm run link ``` -`npm run verify` does not currently complete in this environment. See [Verification status](#verification-status) before treating a failure as a code defect. +`npm run verify` completes green from a clean `npm install` on this host. See [Verification status](#verification-status) for the recorded gate evidence. Step 3 — restart OMP or run `/reload-plugins`, then install the bundled themes: @@ -80,47 +86,37 @@ Precondition: the tarball must contain `prompts/`. `src/prompts.ts` resolves bun ### Verification status -Overall readiness: PARTIAL. +Overall readiness: GREEN for the six repository-local gates; four host-dependent gates remain NOT RUN. -Currently passing: +`npm run verify` exits 0 from a clean `npm install` on this host. Each gate below is recorded as evidence under `00_admin/validation/` and rendered into `RELEASE.json` by `scripts/release-manifest.mjs`; a missing evidence file renders NOT RUN, and `passed !== true` renders FAIL. -| Check | Command | +| Gate | Command | State | +|---|---|---| +| TypeScript | `npm run check` | PASS | +| Behavioral tests | `npm test` | PASS | +| Runtime smoke | `npm run smoke` | PASS | +| Structural verification | `node scripts/verify.mjs` | PASS | +| Theme schema | asserted inside `scripts/verify.mjs` | PASS | +| Pack dry run | `npm run pack:dry` | PASS | +| Production dependency audit | `npm audit --omit=dev` | NOT RUN | +| Full development tree audit | `npm audit` | NOT RUN | +| OMP plugin doctor | `npm run doctor` | NOT RUN — requires Bun plus an installed OMP host | +| Interactive TUI smoke | manual OMP session | NOT RUN — requires an interactive terminal | + +Never satisfy a gate with a stub: do not vendor dependencies into the repository, and do not hand-write or copy the OMP SDK packages or the OMP theme schema. A gate satisfied by a stub proves nothing about the shipped extension. + +Dependency requirements per check: + +| Check | Needs installed dependencies | |---|---| -| Extension smoke test | `npm run smoke` | -| Release manifest parity | `npm run release:check` | -| State unit tests | `node --import tsx --test tests/state.test.ts` | - -The full gate is BLOCKED, not passing. `npm run verify` cannot complete because an npm registry outage (repeated `ETIMEDOUT` on install) left `node_modules` incomplete. Missing at minimum: - -| Missing | Blocks | -|---|---| -| `@oh-my-pi/pi-coding-agent`, `@oh-my-pi/pi-tui`, `@oh-my-pi/pi-utils` | `npm run check`, every test importing `src/` modules that reference the OMP SDK | -| `@types/node` | `npm run check` (`tsc --noEmit`) | -| `yauzl` | `tests/zip.test.ts` and the archive verification path in `src/zip.ts` | -| `node_modules/@oh-my-pi/pi-coding-agent/src/modes/theme/theme-schema.json` | `node scripts/verify.mjs` theme validation | - -No claim is made that `npm run verify` has passed in this environment. - -### Registry outage and offline guidance - -Rules while the registry is unreachable: - -- Do not vendor dependencies into the repository. -- Do not stub, hand-write, or copy the OMP SDK packages or the OMP theme schema to turn a gate green. A gate satisfied by a stub proves nothing about the shipped extension. -- Repair or retry registry access, rerun `npm install`, then rerun the full `npm run verify` gate and record its real result. - -What each check needs: - -| Check | Offline without installed dependencies | -|---|---| -| `npm run smoke` | Meaningful — runs through `tsx` against `src/` without resolving the OMP SDK at runtime | -| `npm run release:check` | Meaningful — `scripts/release-manifest.mjs` uses Node builtins only | -| `node --import tsx --test tests/state.test.ts` | Meaningful — exercises state logic only | -| `npm run check` | Requires installed dependencies (OMP SDK type declarations plus `@types/node`) | -| `npm test` (full suite) | Requires installed dependencies (`yauzl`, `yazl`, OMP SDK) | -| `node scripts/verify.mjs` | Requires installed dependencies (reads the OMP theme schema from `node_modules`) | -| `npm run pack:dry` | Requires a resolvable npm environment | -| `npm run doctor` | Requires Bun plus an installed OMP host | +| `npm run smoke` | No — runs through `tsx` against `src/` without resolving the OMP SDK at runtime | +| `npm run release:check` | No — `scripts/release-manifest.mjs` uses Node builtins only | +| `node --import tsx --test tests/state.test.ts` | No — exercises state logic only | +| `npm run check` | Yes — OMP SDK type declarations plus `@types/node` | +| `npm test` (full suite) | Yes — `yauzl`, `yazl`, OMP SDK | +| `node scripts/verify.mjs` | Yes — reads the OMP theme schema from `node_modules` | +| `npm run pack:dry` | Yes — resolvable npm environment | +| `npm run doctor` | Yes — plus Bun and an installed OMP host | ## Production loop @@ -215,7 +211,7 @@ npm pack The local test suite imports production code. The final host smoke test remains `omp plugin doctor` plus an interactive OMP session. -`npm run check`, `npm test`, and `npm run verify` require a complete `node_modules`; see [Verification status](#verification-status) for what currently passes and what is blocked. +`npm run check`, `npm test`, and `npm run verify` require a complete `node_modules`; see [Verification status](#verification-status) for the recorded gate evidence. ## Governing law diff --git a/RELEASE.json b/RELEASE.json index 7f8436f..901523c 100644 --- a/RELEASE.json +++ b/RELEASE.json @@ -20,7 +20,7 @@ "themes": 2, "behavioralTests": 9, "sourceFilesHashed": 97, - "sourceBytesHashed": 312041, + "sourceBytesHashed": 311578, "selfHashPolicy": "RELEASE.json is excluded from its own source inventory; final package and archive hashes are recorded externally." }, "verification": { @@ -142,8 +142,8 @@ }, { "path": "README.md", - "bytes": 10075, - "sha256": "6ccdd0b9eba8955c088edc205a9053a18bb263609ae7e308e5e03b6486c87bff" + "bytes": 9804, + "sha256": "3e444309f69a35f8e57bbcda88956a5db6ec6fd6d2621fbb67b50a718335ad8f" }, { "path": "agents/pom-architect.md", @@ -277,8 +277,8 @@ }, { "path": "docs/SETTINGS.md", - "bytes": 3284, - "sha256": "a0fc17b1d81811aa7810e53c77e619c51aaea62737273903b9af70d0484befb4" + "bytes": 3072, + "sha256": "33bf545df6b85c03ed2512a01c78fff7191f1fcd3b5cb216055d53aa549c6d7d" }, { "path": "docs/TOOL_MATRIX.md", @@ -307,8 +307,8 @@ }, { "path": "package.json", - "bytes": 2153, - "sha256": "7e325ea1558fbdb5bb76565f942306ce6568152a5a604ef80fbdb252cadbe92e" + "bytes": 2169, + "sha256": "0f126696102547f5bef691a24cc06d2eb4557218a56115746160c3025f0dbb89" }, { "path": "prompts/agent-studio.md", @@ -392,8 +392,8 @@ }, { "path": "scripts/check-docs.mjs", - "bytes": 17112, - "sha256": "570eb129e9432d3b6aa8f5112b743c7b2bfc20c75c50fb6e30bf0121130b8286" + "bytes": 17116, + "sha256": "34a08a55c339ac8004df1438d13ed721d14e9792a3bdc1fd9ac9ad99ab41d6f6" }, { "path": "scripts/install.ps1", diff --git a/docs/SETTINGS.md b/docs/SETTINGS.md index c180fa7..b036016 100644 --- a/docs/SETTINGS.md +++ b/docs/SETTINGS.md @@ -57,4 +57,4 @@ built-in defaults | Bun | `>=1.3.14` | `engines.bun` | | Node.js + npm | Node 22 or newer | Local scripts and the `node:test` suite | -Verification state is PARTIAL. `npm run smoke`, `npm run release:check`, and `node --import tsx --test tests/state.test.ts` pass. The full `npm run verify` gate is blocked: an npm registry outage left `node_modules` incomplete (OMP SDK peer packages, `@types/node`, `yauzl`, and the OMP theme schema that `scripts/verify.mjs` reads). Restore registry access, reinstall, then rerun the full gate. See the README sections Verification status and Registry outage and offline guidance. +Verification state: the six repository-local gates pass and `npm run verify` exits 0 from a clean `npm install`; the four host-dependent gates (both `npm audit` scopes, `npm run doctor`, interactive TUI smoke) remain NOT RUN. See the README section Verification status. diff --git a/package.json b/package.json index 23e11b6..d6d7b58 100644 --- a/package.json +++ b/package.json @@ -6,11 +6,11 @@ "license": "MIT", "repository": { "type": "git", - "url": "git+https://omp.loca.zone/pom-omp.git" + "url": "git+https://git.omp.loca.zone/jamminrebel/pom-omp.git" }, - "homepage": "https://wiki.omp.loca.zone/", + "homepage": "https://wiki.pom.loca.zone/", "bugs": { - "url": "https://wiki.omp.loca.zone/", + "url": "https://wiki.pom.loca.zone/", "email": "antigravity@loca.zone" }, "keywords": [ diff --git a/scripts/check-docs.mjs b/scripts/check-docs.mjs index 72acbdb..e9e3eaa 100644 --- a/scripts/check-docs.mjs +++ b/scripts/check-docs.mjs @@ -395,7 +395,7 @@ checks.push((index) => } const repository = typeof pkg.repository?.url === "string" ? pkg.repository.url : ""; if (repository.includes(CANONICAL_HOST)) - note(`${repository} is reserved on owned infrastructure and is not yet serving Git`); + note(`${repository} is served by the owned Gitea instance and accepts anonymous clones`); }), );