v1.2.0

mvt-project/mvtv1.2.0Jul 4, 2026by 0xNyk

Upgrading?

AI Summary

This release introduces Claude Code marketplace support, enhances voting mechanisms with confidence weighting and structured stance data, adds Cursor CLI provider support, and hardens project infrastructure with CI guards and standard repo furniture.

Key Highlights

  • Claude Code plugin-marketplace support with symlinked assets
  • Confidence-weighted vote tally (base weight × confidence factor)
  • Per-member reasoning_method frontmatter for diverse personas
  • Cursor CLI provider archetype (model aggregator support)
  • Project-level .council.yaml overrides for configuration

New Features

  • Structured stance voting with deterministic weighted tie-break
  • Standard repo furniture (gitignore, templates, issue templates)
  • Shell-injection surface fixes in external dispatch templates

Full Release Notes


### Added
- **Claude Code plugin-marketplace support** (#45) — `.claude-plugin/plugin.json` + `marketplace.json`; install with `/plugin marketplace add 0xNyk/council-of-high-intelligence` then `/plugin install council@council-of-high-intelligence`. Root `SKILL.md` remains the single source of truth via a `skills/council/` symlink; a new Asset Resolution section resolves agents/scripts/configs from either the install.sh layout or `${CLAUDE_PLUGIN_ROOT}`.
- **Confidence-weighted vote tally** (#44) — a member's vote weight is now base weight (1.0, or 1.5× domain seat) × confidence factor from their `STANCE:` line (`high 1.0 / med 0.75 / low 0.5`). `W_total` stays at full base weights, so a hesitant council raises its own consensus bar and escalates to the user rather than forcing a verdict (Roundtable Policy, arXiv:2509.16839; ConfMAD, arXiv:2509.14034).
- **Per-member `reasoning_method` frontmatter** (E3 / DMAD, arXiv:2410.12853) (#44) — all 18 personas declare a distinct reasoning method (elenchic-questioning, tail-stress-testing, causal-loop-mapping, …) and Round 1 prompts direct each member to reason via their method: method diversity, not just persona diversity.
- **Project-level `./.council.yaml` overrides** (E7) (#44) — pin `profile`/`triad`/`members`/`chairman`/`models`/`no_auto_route` per project; CLI flags always win.
- Standard repo furniture (#42) — `.gitignore`, `SECURITY.md`, `FUNDING.yml`, bug/feature/provider issue templates, and a PR template with a three-file protocol-parity checklist.
- **Structured stance voting + deterministic weighted tie-break.** The final round (full Round 3 / quick Round 2) now requires each member to emit a machine-parseable `STANCE: <option> | CONFIDENCE: … | DEALBREAKER: …` line, so consensus is a counted weighted tally rather than a prose impression. STEP 6 specifies the exact math: `W_option ≥ (2/3) × W_total`, with the on-domain seat carrying 1.5×. New **Vote Tally** field in the full and quick verdict templates records `option → weight` and which seat carried the weight. Mirrored in `SKILL.codex.md`.
- Cursor CLI provider support (`cursor_cli` archetype) — sixth dispatch path alongside subagent / codex_exec / gemini_cli / ollama_run / openai_compatible_api. Auto-detected via the `cursor-agent` binary; members run headless and read-only (`cursor-agent -p --mode ask --model <id>`). Cursor is a model aggregator (GPT-5.x / Claude / Gemini / Grok through one CLI), so routing treats it as a single provider for spread and steers diversity seats to cross-family models to avoid duplicating Anthropic bias. New `configs/provider-model-slots.cursor.example.yaml`, `cursor_cli` tiers in `configs/auto-route-defaults.yaml`, and `cursor_cli` as a valid `--chairman` tag.

### Changed
- **Domain-weight seat (1.5×) is now designated at panel selection (STEP 0), before any positions exist** — previously chosen at tie-break time, which let the coordinator pick the heavyweight after seeing votes. Locking it up front removes that nudge.
- README "Enforcement Mechanisms" rewritten to state the actual forcing function (bounded round budget + anti-recursion guards) and that genuine splits escalate to the user instead of being forced into consensus.
- **CI drift guards are now real** (#42) — `council-simulation-checklist.sh` executes in CI (it never ran before), extended with full `SKILL.gemini.md` parity checks and a three-file STANCE/Vote-Tally/1.5×/2-3-threshold parity gate; markdownlint's variadic `--disable` was missing its trailing `--` and silently linted zero files — rule selection now lives in `.markdownlint.json` and covers all doc files.
- `install.sh` derives the generated `gemini-extension.json` version from CHANGELOG instead of a hardcoded string; model IDs reconciled across configs/docs (`gemini-3-pro`, `gpt-5.4` generation); README/CLAUDE.md document the `--gemini` install path and marketplace install.

### Fixed
- **`SKILL.gemini.md` drift regression** (#42) — the Gemini coordinator was missing structured stance voting, the weighted 2/3 tie-break, and the Vote Tally verdict field entirely; `SKILL.codex.md` referenced a Vote Tally field its own verdict template lacked.
- `SKILL.md` `classic` profile said "All 11 members" — the roster is 18 (#42).
- Shell-injection surface in external dispatch templates — prompts now route through quoted heredocs instead of being inlined into double-quoted argv; API keys no longer appear in `ps`-visible curl argv (#42).
- Tracked `.DS_Store` and a stray `.gstack` error log removed; junk excluded from release tarballs (#42).

Related Repositories