Skip to content

Update dependabot.yml#22

Merged
hyperpolymath merged 2 commits into
mainfrom
hyperpolymath-patch-1
Mar 14, 2026
Merged

Update dependabot.yml#22
hyperpolymath merged 2 commits into
mainfrom
hyperpolymath-patch-1

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Changes

RSR Quality Checklist

Required

  • Tests pass (just test or equivalent)
  • Code is formatted (just fmt or equivalent)
  • Linter is clean (no new warnings or errors)
  • No banned language patterns (no TypeScript, no npm/bun, no Go/Python)
  • No unsafe blocks without // SAFETY: comments
  • No banned functions (believe_me, unsafeCoerce, Obj.magic, Admitted, sorry)
  • SPDX license headers present on all new/modified source files
  • No secrets, credentials, or .env files included

As Applicable

  • .machine_readable/STATE.a2ml updated (if project state changed)
  • .machine_readable/ECOSYSTEM.a2ml updated (if integrations changed)
  • .machine_readable/META.a2ml updated (if architectural decisions changed)
  • Documentation updated for user-facing changes
  • TOPOLOGY.md updated (if architecture changed)
  • CHANGELOG or release notes updated
  • New dependencies reviewed for license compatibility (PMPL-1.0-or-later / MPL-2.0)
  • ABI/FFI changes validated (src/abi/ and ffi/zig/ consistent)

Testing

Screenshots

Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
@hyperpolymath hyperpolymath merged commit b31faf2 into main Mar 14, 2026
15 of 16 checks passed
@hyperpolymath hyperpolymath deleted the hyperpolymath-patch-1 branch March 14, 2026 03:50
hyperpolymath added a commit that referenced this pull request Mar 14, 2026
…IK Level Architect

Add UMS (Universal Map System) cartridge with full 3-layer ABI/FFI/adapter
stack. Implements level lifecycle state machine (Idle -> ProjectOpen ->
LevelLoaded -> Validating -> Valid/Invalid -> Saved) with 10 MCP tools:
load_level, save_level, validate_level_abi, list_levels, export_level_config,
create_project, open_project, delete_project, load_templates,
instantiate_template. 6 Zig FFI tests passing, libums_mcp.so built.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
hyperpolymath added a commit that referenced this pull request May 20, 2026
## Summary

Re-surveyed all 81 paired cartridges against the freshly-merged iseriser
binary (#20 GADT-skip emitter, #21 runtogether candidate, #22
terminal-\`false\` switch-arm tolerance). Allowlist grows from **56 →
66** cartridges.

### Newly clean (+11) — unblocked by iseriser #20/#21/#22

\`chapeliser-mcp\`, \`cloud-mcp\`, \`comms-mcp\`, \`container-mcp\`,
\`git-mcp\`, \`gitlab-api-mcp\`, \`ml-mcp\`, \`mongodb-mcp\`,
\`queues-mcp\`, \`research-mcp\`, \`vordr-mcp\`

### Newly drifting (-1) — browser-mcp

Genuine cartridge-side drift: Idris2 \`BrowserAction.Type\` (Zig
candidate \`type\`) vs Zig \`type_text\`. Cartridge-side fix needed, not
a verifier defect; not Class B/C/D — filed as out-of-scope.

### Class taxonomy after the fixes

| Class | Pre-PR | Post-PR | Status |
| --- | --- | --- | --- |
| Clean (allowlist) | 56 | **66** | this PR |
| Class B (name-norm) | covered | partial | iseriser#21 closed multi-cap
acronyms; remaining ums-mcp prefix-stripping is open |
| Class C (missing Zig enum) | tracked | tracked | standards#150-155 |
| Class D (abbreviation/acronym boundary) | implicit | filed |
standards#156 (3 cartridges: postgresql/hetzner/redis) |
| Class P (verifier parser limit) | 5 | **0** | iseriser#22 closed |
| Class E (malformed Idris2 source) | 1 | **0** | iseriser#20 closed |

## Test plan

- [x] Local re-survey on \`origin/main\` snapshot (zero cartridge
changes between survey and this PR's base commit)
- [x] All 66 cartridges in the new list verified \`abi-verify: OK\`
- [x] Removed cartridge (browser-mcp) verified to actually drift
- [ ] CI green on this PR (the workflow itself runs the same
66-cartridge check)

Refs hyperpolymath/standards#92, hyperpolymath/standards#89,
hyperpolymath/iseriser#20, hyperpolymath/iseriser#21,
hyperpolymath/iseriser#22.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperpolymath added a commit that referenced this pull request Jun 1, 2026
## Summary

- Pin iseriser to `741a3b63e7619b6e9cfe7f91b04d7ccfb130b1ca` (current
`main` HEAD, post-#20/#21/#22) instead of floating `--branch main`.
- Drop the prefix-matching `restore-keys` and key the cache by the rev
SHA so a future bump actually invalidates it.
- Always re-install with `--force`; the existence-check short-circuit
was the proximate cause of cached pre-#20 binaries surviving the fix
landing 11 days ago.

## Why

[iseriser#20](hyperpolymath/iseriser#20) (merged
2026-05-20) added GADT-skip to `abi-emit-manifest` so `data … where`
declarations (like vordr-mcp's `MonotonicDegradation` proof relation) no
longer crash with `Error: data declaration has no \`=\``. But this
repo's CI never picked up the new binary:

```yaml
# Before
key: iseriser-${{ runner.os }}-${{ github.sha }}
restore-keys: |
  iseriser-${{ runner.os }}-
```

`restore-keys` prefix-matches across every commit, so once any cache
existed for ubuntu it'd restore that one. Combined with:

```bash
if ! command -v iseriser >/dev/null 2>&1; then
  cargo install --git … --branch main --locked
fi
```

the install only fired if no binary existed at all. Result: stale binary
forever. Latest main run on 2026-05-26 (`gh run view 26426084041`) still
printed `Error: data declaration has no \`=\`` against vordr-mcp.

## Test plan

- [ ] CI runs `ABI Drift Gate` against this PR.
- [ ] `iseriser --version` log shows the post-#20 build.
- [ ] vordr-mcp line in the per-cartridge output reads ` ✓ vordr-mcp`
rather than ` ✗ vordr-mcp EMIT FAILED`.
- [ ] No regression in any other allowlisted cartridge.

Closes #111
Refs hyperpolymath/standards#92, hyperpolymath/iseriser#20.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperpolymath added a commit that referenced this pull request Jun 8, 2026
…ards#91 / #100)

Refreshes docs/integration/hcg-tier2-rollout-runbook.md from v0.1
(draft, 2026-05-20, pre Phase-D) to v0.2 reflecting the current
state of the single-lane channel rooted at standards#91:

- §1.1 Phase D deliverables: tick D-1..D-3 + D-4 bootstrap with
  http-capability-gateway PR refs (#12 / #14 / #22 / #26 / #30) and
  the boj-server D-1 load-profile (#168) that joint-closed standards#99
  on 2026-06-01. The one remaining open item is the owner-driven
  perf-rebaseline workflow dispatch + `_status: scaffold-placeholder
  -> active` flip; called out explicitly rather than left as a stale
  unchecked checkbox.

- §1.4 BoJ-side prereqs: tick the three loopback-bind layers
  (#130 / #131 / #132), the Phase C TrustPolicy clause (#106), the
  NetworkPolicy (#173), and the SSE-route policy coverage (#165).
  The Trustfile `tier_2_gateway.status: PENDING` line stays
  intentionally unchecked - it's the §6.4 last-action target.

- §1.5 Gateway-side prereqs: tick the new
  `container/gateway-deploy.k9.ncl` from http-capability-gateway#38
  (2026-06-03), record what stays PLACEHOLDER until cerro-torre
  signing runs, and expand the smoke-test entry with the concrete
  allow/deny sequence boj-server#165 deferred.

- Header banner: replace the stale "Phase D has merged the scaffold
  only" Phase-D-dependency note with a current-state summary,
  bump version 0.1 -> 0.2, date 2026-05-20 -> 2026-06-08.

- CHANGELOG.md: Documentation entry under [Unreleased] summarising
  the refresh.

No code, infrastructure, or runtime behaviour changes. The runbook
is the operator-facing source of truth for what's gating the next
Phase E owner action; the drift it had was making "what's still
open" harder to read at a glance.

Refs hyperpolymath/standards#91
Refs hyperpolymath/standards#100

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
hyperpolymath added a commit that referenced this pull request Jun 9, 2026
)

## Summary

Lands `config/gateway-policy-boj.yaml` — the **live** Verb Governance
Spec
the HCG tier-2 gateway loads via `POLICY_PATH` in staging (§2.1) and
production (§3.1) per the rollout runbook. The Phase A worked example
(`config/gateway-policy-boj-example.yaml`) is retained as the
documentation
artefact; the live file is now the operational one. Closes the
example→live
promotion item on the Phase E §1.5 checklist.

Single-lane HCG tier-2 channel (`standards#91`). Phase A (#96), B (#97),
C (#98), D (#99) are joint-closed; Phase E (`standards#100`) is the
active
phase, with multiple artefacts gating closure (§6.4 Trustfile flip is
the
last). This PR lands one tractable artefact; staging soak (§2),
production
traffic split (§3) and the §6.4 flip remain owner-driven.

## What this PR lands

- **`config/gateway-policy-boj.yaml`** — live policy file.
Content-identical
to `gateway-policy-boj-example.yaml` at promotion time. Header rewritten
  to reflect its live-file role (operational artefact, not pedagogical),
with `DEFAULT-DENY INVARIANT` reframed from "Phase A check" to
"permanent
invariant — must hold for every future gateway release". DSL v1
conformance
preserved; all 28 routes (`global_verbs: [GET, POST]`; per-route
`verbs`,
  `exposure`, `name`, `narrative`; `stealth_profile` on internal routes;
top-level `stealth: { enabled: true, status_code: 404 }`) carried
forward
  unchanged.
- **Runbook §1.5** — flips the trailing "still to be promoted from this
example before §3.1" note (on the existing `[x]` example-in-place line)
  to a discrete `[x]` item recording the live file's existence and the
divergence policy ("future BoJ-surface evolution lands in the live file;
  the example remains as the worked-example artefact").
- **Runbook §2.1 step 2** — switches staging `POLICY_PATH` from the
example
to the live file so staging exercises the same artefact that production
  will. Production §3.1 (which inherits §2.1's environment with the
  traffic-shift mechanism overlaid) needs no change.
- **Runbook header** — version 0.2 → 0.3; status line updated to
acknowledge
  the live-policy promotion.

## What this PR deliberately does NOT do

- **Close `standards#100`.** Per runbook §6.5 the joint-close happens
after
  the §6.4 Trustfile flip (`tier_2_gateway.status: PENDING → DEPLOYED`),
which itself follows the §3.3 100% production-soak window. Using `Refs`
  not `Closes` to match the established Phase E pattern (PRs #38, and
Phase D PRs #14, #22, #26, #30 — all `Refs`'d their phase issue and the
  owner joint-closed the issue once the final artefact landed). This
  deliberately diverges from the dispatch brief's literal "Closes
  hyperpolymath/standards#<phase-issue-number>" line in favour of the
canonical runbook §6.5 close-out discipline that the brief itself points
  to as the source of truth ("using the canonical sources"). The owner
  remains the sole closer of `standards#100`.
- **Touch the HCG deploy spec.** `container/gateway-deploy.k9.ncl` in
`hyperpolymath/http-capability-gateway` (PR #38) reads `POLICY_PATH` at
deploy time from the env, so the live-file cut-over is a runbook +
config
artefact change on the BoJ side, not a deploy-spec change on the gateway
  side. No companion PR on the gateway repo.
- **Diverge the live file from the example.** At promotion the two files
are content-identical. Future divergence is intentional and the live
file
  is authoritative; the example may be intentionally simpler.
- **Trigger any deploy.** No traffic shift, no staging cut-over, no §6.4
  flip happens at merge time. This is a static artefact landing.
- **Update the deploy spec's `POLICY_PATH` default.** The deploy spec
carries env-var declarations; the live-file path is operator-supplied at
  deploy time.

## Verification

- [x] DSL v1 conformance: `dsl_version: "1"`; `governance.global_verbs`
is
      `[GET, POST]`; every route has a non-empty `verbs`; `exposure ∈
      {public, authenticated, internal}`; `stealth.enabled` boolean,
      `stealth.status_code: 404` in 100..599.
- [x] All 28 example routes preserved unchanged in the live file (route
      count, `name`s, paths, verbs, exposures, narratives).
- [x] SPDX header `MPL-2.0` matches repo convention (config/, docs/).
- [x] Runbook §1.5 and §2.1 cross-references to
`gateway-policy-boj.yaml`
      and `gateway-policy-boj-example.yaml` resolve.
- [ ] Manual: `mix gateway.validate config/gateway-policy-boj.yaml`
      (gateway-side; can be run by the operator before §2.1 stand-up —
      see runbook §1.5 last open item, smoke-test).

## Channel position

```
standards#91 (parent, open)
├── #96 Phase A — closed (boj-server: contract + policy-authoring + example; gateway: -)
├── #97 Phase B — closed (gateway#10: mTLS primary path)
├── #98 Phase C — closed (gateway#11: strip; boj-server#106: TrustPolicy clause)
├── #99 Phase D — closed (boj-server#168 on 2026-06-01; gateway#12/#14/#22/#26/#30)
└── #100 Phase E — IN PROGRESS
     ├── E5 runbook draft — boj-server#128 (landed; rehearsal pending)
     ├── E1 loopback prereqs — boj-server#130/#131/#132/#165/#173 (landed)
     ├── E1 deploy spec — http-capability-gateway#38 (landed)
     ├── E1 live policy promotion — THIS PR (in review)
     ├── E1 .ctp signing — owner follow-up
     ├── E2 staging cut-over — owner follow-up
     ├── E3 telemetry verification — owner follow-up
     ├── E4 production rollout — owner follow-up
     └── §6.4 Trustfile flip + §6.5 joint-close — owner-only
```

Refs hyperpolymath/standards#91
Refs hyperpolymath/standards#100

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---
_Generated by [Claude
Code](https://claude.ai/code/session_012FiVM8R8FWBgBsUGpnXTZM)_

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant