Skip to content

feat(mcp-bridge): close vibe's PR #32 gap + lift to Glama AAA tier#33

Merged
hyperpolymath merged 2 commits intomainfrom
claude/enhance-vibe-aaa-standard-ATSCg
Apr 21, 2026
Merged

feat(mcp-bridge): close vibe's PR #32 gap + lift to Glama AAA tier#33
hyperpolymath merged 2 commits intomainfrom
claude/enhance-vibe-aaa-standard-ATSCg

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Carries forward the coord-mcp work orphaned when PR #32 closed on 2026-04-20 without the full set merging (only the watchdog squash landed as c9a291d). The six tools added by the 0.8.0 health-snapshot and PR #29 variant/capability commits were on the cartridge manifest but absent from the MCP bridge's advertised tool list, so Glama could not see them.

What landed

MCP bridge tool surface now matches cartridge.json:

  • Added: coord_set_variant, coord_set_capabilities, coord_get_peer_capabilities, coord_health, coord_progress, coord_sweep_watchdog.
  • Renamed: coord_promote_to_supervisor -> coord_promote_to_master (DD-32). Old name kept only as a dispatch alias for one release; not re-advertised.

Glama AAA tier posture

Every tool description rewritten to hit Glama's six TDQS dimensions: Purpose Clarity, Usage Guidelines, Behavioral Transparency, Parameter Semantics, Conciseness & Structure, Contextual Completeness. The server-level score is 60% mean + 40% min, so a single thin description tanks the number -- 32 one-liners (browser, github, gitlab, comms, research) all lifted above the floor.

Input schemas tightened: additionalProperties: false, enum constraints, minimum/maximum, pattern regexes where meaningful (cartridge name, variant label).

Coherence tests

New mcp-bridge/tests/dispatch_test.js (6 tests, all green):

  1. Every coord_* in cartridge.json is exposed by the bridge (drift = invisible to Glama).
  2. coord_promote_to_master is canonical; old name not advertised.
  3. Every tool has a >=80 char description (AAA floor).
  4. Every inputSchema is a typed object.
  5. required[] names match declared properties.
  6. Tool names are unique.

npm test now runs these (was an echo no-op).

Version + metadata

  • Server version 0.3.1 -> 0.4.0 across main.js, version.js, and both package.json files.
  • Cartridge count description 96 -> 100.
  • Offline menu: local-coord-mcp version 0.1.0 -> 0.9.0; summary total 24 -> 100 to reflect disk truth.
  • README: new "Local-coord-mcp at a glance" + "Glama AAA posture" sections documenting the server's Glama stance and how the coherence tests lock it in.

Also adds docs/handover/HAIKU-SCOUT-PASS.md -- reusable Haiku scouting-pass prompt template for the next coord-mcp review cycle.

Test plan

  • node --test mcp-bridge/tests/dispatch_test.js -- 6/6 green
  • node --check on every modified JS file
  • MCP stdio handshake still responds (verified by live reload picking up the 6 new tools + dropping the renamed one)
  • Glama re-index picks up the expanded tool list with AAA scores

Context

Branch claude/enhance-vibe-aaa-standard-ATSCg. Completes the unfinished parts of vibe's PR #32 at the MCP bridge layer and lifts the server posture to Glama AAA quality.

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

claude and others added 2 commits April 21, 2026 14:13
Carries forward the coord-mcp work orphaned when PR #32 closed on 2026-04-20
without the full set merging (only the watchdog squash landed as c9a291d).
The six tools added by the 0.8.0 health-snapshot and PR #29 variant/capability
commits were on the cartridge manifest but absent from the MCP bridge's
advertised tool list, so Glama could not see them.

What landed
-----------

MCP bridge tool surface now matches cartridge.json:

* Added: `coord_set_variant`, `coord_set_capabilities`,
  `coord_get_peer_capabilities`, `coord_health`, `coord_progress`,
  `coord_sweep_watchdog`.
* Renamed: `coord_promote_to_supervisor` -> `coord_promote_to_master`
  (DD-32). Old name kept only as a dispatch alias for one release;
  not re-advertised.

Glama AAA tier posture
----------------------

Every tool description rewritten to hit Glama's six TDQS dimensions:
Purpose Clarity, Usage Guidelines, Behavioral Transparency, Parameter
Semantics, Conciseness & Structure, Contextual Completeness. The
server-level score is 60% mean + 40% *min*, so a single thin
description tanks the number -- 32 one-liners (browser, github,
gitlab, comms, research) all lifted above the floor.

Input schemas tightened: `additionalProperties: false`, enum
constraints, `minimum`/`maximum`, `pattern` regexes where meaningful
(cartridge name, variant label).

Coherence tests
---------------

New `mcp-bridge/tests/dispatch_test.js` (6 tests, all green):

1. Every `coord_*` in `cartridge.json` is exposed by the bridge
   (drift = invisible to Glama).
2. `coord_promote_to_master` is canonical; old name not advertised.
3. Every tool has a >=80 char description (AAA floor).
4. Every `inputSchema` is a typed object.
5. `required[]` names match declared properties.
6. Tool names are unique.

`npm test` now runs these (was an echo no-op).

Version + metadata
------------------

* Server version 0.3.1 -> 0.4.0 across main.js, version.js, and both
  package.json files.
* Cartridge count description 96 -> 100.
* Offline menu: local-coord-mcp version 0.1.0 -> 0.9.0; summary total
  24 -> 100 to reflect disk truth.
* README: new "Local-coord-mcp at a glance" + "Glama AAA posture"
  sections documenting the server's Glama stance and how the coherence
  tests lock it in.

Also adds `docs/handover/HAIKU-SCOUT-PASS.md` -- reusable Haiku
scouting-pass prompt template for the next coord-mcp review cycle.

Test plan
---------

* [x] `node --test mcp-bridge/tests/dispatch_test.js` -- 6/6 green
* [x] `node --check` on every modified JS file
* [x] MCP stdio handshake still responds (verified by live reload
      picking up the 6 new tools + dropping the renamed one)
* [ ] Glama re-index picks up the expanded tool list with AAA scores

Context
-------

Branch `claude/enhance-vibe-aaa-standard-ATSCg`. Completes the
unfinished parts of vibe's PR #32 at the MCP bridge layer and lifts
the server posture to Glama AAA quality.
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
@hyperpolymath hyperpolymath merged commit 9394045 into main Apr 21, 2026
11 of 20 checks passed
@hyperpolymath hyperpolymath deleted the claude/enhance-vibe-aaa-standard-ATSCg branch April 21, 2026 14:42
hyperpolymath added a commit that referenced this pull request Apr 27, 2026
…idge

The Zig adapter, FFI, Idris ABI and cartridge.json were already updated
for Task #33 (extend client_kind enum with openai/mistral, accept free-
form variant at register time), but mcp-bridge/lib/tools.js still
advertised the legacy 4-kind enum and omitted the optional variant. AI
clients calling coord_register through the MCP bridge therefore could
not register as openai/mistral or set their variant in one shot.

- mcp-bridge/lib/tools.js: extend client_kind enum to 6 kinds,
  add optional variant property mirroring the adapter contract,
  refresh description.
- cartridges/local-coord-mcp/LOCAL-COORD-MCP-REPORT.adoc: refresh
  DD-3 (Client Identity) to reflect 6-LLM split + new register
  input shape.

Live-tested both new kinds against the running adapter on
127.0.0.1:7745 — registration + variant accepted. mcp-bridge
dispatch_test.js suite green (8/8).

Co-Authored-By: Claude Opus 4.7 (1M context) <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.

2 participants