← roadmap

interpub

improve priority P2 effort S wave 2

What it does: Safe plugin publishing for the Interverse marketplace. Per its actual code, interpub is now a thin command layer (two markdown slash commands, zero MCP tools, zero subagents, zero hooks in-plugin) over a mature Go pipeline: /interpub:release delegates entirely to ic publish (Intercore), which bumps plugin.json as single source of truth, patches derived files (marketplace.json/pyproject.toml/package.json), validates sync, rebuilds the marketplace cache, and commits to main with doctor/status/clean/unlock/dry-run/—auto subcommands. /interpub:sweep is a bash scan that finds version-drifted/unpushed plugins across the fleet and publishes stale ones. scripts/bump-version.sh is a fallback that prefers ic then interbump.sh. Verified ic publish is installed and live: ic publish status --all and ic publish doctor --json correctly report fleet drift with a structured fix field.

Rationale: The architecture is correct and SOTA-aligned: version-string synchronization is a deterministic operation that 2026 harness-engineering consensus says should be a deterministic step, not something you ‘hope the model remembers’ — interpub correctly hands it to a Go binary and keeps the LLM surface to a thin wrapper (the deterministic-skeleton + LLM-island pattern, and a Code-Mode-style collapse of many file edits into one tool surface). It is the opposite of the MCP-context-bloat anti-pattern: no eager tool schemas, no MCP server, tiny static surface. The ‘self-building’ property (Demarch publishes its own plugins with it) is genuine continuous validation. So the core is keep-grade. The reason this is ‘improve’ not ‘keep’ is concrete drift between docs and code, plus internal redundancy — both fixable without rearchitecting. README.md still describes a four-phase AGENT-driven flow (‘optionally runs the plugin-validator agent’, ‘commits each repo, asks before every push’) that the current release.md no longer implements (it just runs ic publish); the vision.md and PHILOSOPHY ‘Evidence Base: 0 brainstorms/0 plans, source confidence inferred’ are boilerplate. This is exactly the doc-freshness failure interwatch/interscribe exist to catch, and stale docs that contradict the binary are a real trap for the next agent.

SOTA gap: Minor and mostly optional. (1) The publish pipeline produces no structured, consumable receipt event — vision.md itself flags ‘surface publish receipts as structured events for interkasten/interwatch,’ which maps to the 2026 reliability-science push toward auditable, machine-readable outcomes (ic publish doctor --json already exists, so emitting a publish-receipt JSON is a small extension). (2) The whole plugin is single-plugin/sequential by design; it lacks any pre-flight dependency-graph check before fan-out publishing (its own roadmap IPUB-N1) — relevant given the SOTA latency-aware-DAG orchestration work, though publish-order safety (sweep explicitly runs sequentially to avoid marketplace.json conflicts) means parallelism is genuinely unsafe here, so this gap is low-value. No core frontier capability is missing; this plugin is intentionally and correctly deterministic.

Redundancy: Internal/self-redundancy is the main issue: sweep.md reimplements in fragile inline-python+bash exactly what ic publish status --all and ic publish doctor --json already do deterministically in Go (fleet-wide drift across plugin.json/marketplace/installed-cache with a structured fix). sweep should delegate to those instead of re-deriving versions. Cross-plugin: interpub is the publish endpoint of the plugin-dev cluster — it composes cleanly with interplug (plugin lifecycle/structure validation) and intercheck (quality/session-health) rather than overlapping them; the plugin-validator agent referenced in the stale README belongs to interplug, not here. No true duplication with another interverse plugin — publishing/version-sync is uniquely interpub’s lane.

Actions:

  • Rewrite README.md (and trim docs/interpub-vision.md) to describe the actual ic publish delegation — remove the obsolete four-phase agent-driven narrative and the ‘plugin-validator agent / asks before every push’ language that release.md no longer implements; this is the highest-value fix because stale docs actively mislead the next agent.
  • Refactor sweep.md to delegate to ic publish status --all / ic publish doctor --json for drift detection instead of the inline-python+bash reimplementation, then publish stale entries — same output, far less fragile, single source of truth for drift logic.
  • Emit a structured publish receipt (extend the existing --json surface) on every successful publish so interkasten/interwatch can consume it, closing the vision.md ‘publish receipts as structured events’ direction.
  • Drop or regenerate the boilerplate PHILOSOPHY.md ‘Evidence Base: 0 brainstorms/0 plans, confidence: inferred’ block — it adds noise and signals an unmaintained doc.