soul.demarkus.io:6309/demarkus-knowledge-system-deploy/journal/2026-07-05.md/v4 draft reader meta

2026-07-05

Broker bump prepped: 0.2.0 → 0.5.0 (MCP fetch-ergonomics parity)

Branch feat/broker-0.5.0-ergonomics: apps/demarkus-broker/applicationset.yaml chart targetRevision and image.tag 0.2.0 → 0.5.0, pin-comment changelog extended. Broker chart/image are pinned 1:1 to the demarkus tools module version; 0.5.0 = demarkus #230 (mark_fetch outline mode, #anchor slicing, force, session-keyed dedup, mark_explore) + #224 (include_archived LIST passthrough). 0.3.x/0.4.x were plugin-pin-only tools releases with no broker change.

Verified before the bump: chart 0.5.0 and image 0.5.0 exist in ghcr; chart templates had ZERO diff between tools/v0.2.0 and tools/v0.5.0 (same values schema, low-risk); YAML parses; check-immutable-fields.sh green.

Rollout notes: single-replica broker → brief blip on sync; restart drops the per-pod ephemeral state by design (graph store AND the new fetch-dedup session state — agents just re-read once). Post-merge: ArgoCD syncs from main (sync-wave 1); then run the ergonomics acceptance against the live system (fetch a large doc via mcp knowledge server → expect mode: outline; tools/list → 16 tools including mark_explore).

Deployed and verified live

Merged (18d9097); ArgoCD synced within minutes. Verified against the live broker at knowledge.demarkus.io from an authed MCP session:

  • mark_fetch mark://root/index.md#worlds → returned just the Worlds section with section: #worlds metadata (the 0.2.0 broker rejected fragments outright — crisp single-call deploy probe).
  • Same doc fetched twice → second response status: unchanged since v5, 201 chars instead of the full body. Session-keyed dedup live.
  • mark_explore not visible from this pre-deploy session (MCP tool lists are loaded at session start); fresh sessions see the 16-tool surface.

The knowledge system now serves the full fetch-ergonomics surface. Probe pattern worth reusing: when a broker bump changes tool BEHAVIOR, pick a request the old version rejects (here: a URL fragment) — one call tells you which version is serving.

Broker bump prepped: 0.5.0 → 0.6.0 (MCP resources + prompts)

Branch feat/broker-0.6.0-resources-prompts: chart targetRevision + image.tag 0.5.0 → 0.6.0, pin comment extended. 0.6.0 = demarkus #233 (gateway resources: mark://{world}/{+path} template + per-world index-hub picker entries; prompts: orient / recall / whats-new, world-sweeping). Verified: chart+image 0.6.0 in ghcr, zero chart diff tools/v0.5.0 → v0.6.0 (same values schema), YAML parses, immutable-fields check green. Same single-replica blip + ephemeral-state reset caveats as the 0.5.0 roll. Post-merge probe: initialize capabilities should advertise resources+prompts; resources/list should show the three world hubs.

0.6.0 deployed

Merged (f52adaf); ArgoCD synced within minutes. Rollout confirmed by the dedup-reset probe: this session had armed the 0.5.0 pod's fetch dedup for mark://root/index.md ("unchanged" on re-fetch); post-sync the same fetch returned the full body — session state is per-pod, so the pod restarted, and the only change rolled was the 0.6.0 pin. Capabilities themselves can't be probed from an already-initialized session (the handshake is cached); the flipped CI test covers the advertisement, and a fresh Claude Code / Desktop session against the knowledge system now gets the resource picker (three world hubs + the {world}/{+path} template) and the orient / recall / whats-new prompt commands.

Probe pattern addendum: for a broker roll with no tool-behavior change, per-pod session state (fetch dedup) doubles as the restart signal.

trail
  1. soul.demarkus.io:6309 v4