Skip to content

fix: deduplicate community health files#15

Merged
hyperpolymath merged 1 commit intomainfrom
fix/deduplicate-community-health
Mar 13, 2026
Merged

fix: deduplicate community health files#15
hyperpolymath merged 1 commit intomainfrom
fix/deduplicate-community-health

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Summary

  • Remove 5 community health files duplicated at repo root (CODE_OF_CONDUCT.md, CONTRIBUTING.md, GOVERNANCE.md, MAINTAINERS.md, SECURITY.md)
  • Canonical copies in .github/ are retained — GitHub uses that location by default

Test plan

  • Verified .github/ versions exist before removal
  • Confirm GitHub still renders community health files from .github/

🤖 Generated with Claude Code

…ies in .github/)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@hyperpolymath hyperpolymath merged commit 9b9fd43 into main Mar 13, 2026
13 of 15 checks passed
@hyperpolymath hyperpolymath deleted the fix/deduplicate-community-health branch March 13, 2026 20:38
hyperpolymath added a commit that referenced this pull request Apr 19, 2026
FFI: coord_claim_task_ex carries optional confidence (0-100%),
dispatch_preference (deliberate/broadcast/auto), and task_difficulty
(trivial/routine/challenging/novel). coord_claim_task is now a thin
wrapper with the new args defaulted to -1.

Reject cooldown: per-client_kind ring of the last 5 rejection
timestamps. 5 rejections within 10 min + <30s since the last one =>
coord_claim_task_ex returns -5 (adapter => HTTP 429). Different
client_kinds are isolated — one noisy peer doesn't freeze another.

Nickel: three new shape contracts — ConfidenceShape, DispatchPrefShape,
TaskDifficultyShape — applied by validate. test-contracts.sh covers
one accept + three rejects for the new fields.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
hyperpolymath pushed a commit that referenced this pull request Apr 19, 2026
…bilities (Tasks #33 + #34)

Closes P0 backlog items #33 and #34 in docs/handover/COORD-MCP-TODO.md.
Version bumped to 0.7.0 (cartridge.json + cartridge.ncl + boj_cartridge_version).

Task #33 — client_kind extension + free-form variant label
- ClientKind enum: added openai (4) + mistral (5) in Zig FFI and Idris
  ABI (SafeLocalCoord.idr); KIND_COUNT bumped 4 → 6 for reject-ring.
- Peer struct gains `variant: [32]u8 + variant_len` (alphanumeric +
  `.`/`-`/`_` only). New FFI:
    coord_set_variant(token, variant)
    coord_read_peer_variant(peer_idx, out, cap)
- Adapter `coord_register` accepts optional `variant` and `capabilities`
  blocks — invalid values roll back the register so the caller sees a
  clean 400. `coord_list_peers` output now includes a `variant` field.
- Durable log: peer_variant_set = 15 (new event type), with
  logPeerVariantSet + decodePeerVariantSet and replay-dispatch wiring
  so slot reuse after crash reconstructs variant correctly.

Task #34 — capability advertisement for cold-start routing
- Per-peer storage: class_csv (≤128B), tier (0=unset, 1..5), and
  prover_strengths CSV (≤256B). CSV alphabets restricted to
  [A-Za-z0-9._-+/,] so later JSON rendering stays injection-safe.
- New FFI:
    coord_set_capabilities(token, class, tier, provers)
    coord_read_peer_class / _tier / _provers
- Adapter tools (cartridge.ncl + cartridge.json):
    coord_set_variant        — post-register update
    coord_set_capabilities   — post-register update
    coord_get_peer_capabilities
      — returns {peer_id, kind, variant, tier, class[], prover_strengths[]}
        using the server-rebuilt canonical peer_id rather than echoing
        client input.
- Durable log: peer_capabilities_set = 16 with matching encode + decode
  + replay-dispatch.

Tests
- Extended `default role derives from client_kind` to cover openai /
  mistral → apprentice.
- New `set and read peer variant (Task #33)` — round-trip, rejection of
  invalid chars, slot-reuse clears variant.
- New `set and read peer capabilities (Task #34)` — round-trip, tier
  out-of-range rejection retains prior value, bad CSV char (`"`)
  rejected.

Notes
- Build + e2e verification deferred: Zig is not on PATH in this
  environment. Pattern for every new code path mirrors established
  idioms in the same file (@memcpy slices, std.io.fixedBufferStream,
  std.mem.splitScalar, std.mem.writeInt with `buf[p_off..][0..2]`).
- cartridge.json was hand-synchronised; note the pre-existing drift
  from cartridge.ncl (extra tools from Tasks #13..#15, #32, #35 live
  in .json only). Regenerating from Nickel would currently delete
  them; kept surgical until Nickel toolchain is available.
- D3 in TODO says `just cartridge-install` in 007-lang is gated on
  these tasks shipping — that unblock now applies.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

https://claude.ai/code/session_01DobLJY3jgoso4M3z7xcZi8
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