feat(agentic-harness): dual-tracker sync (v0.8.0)#15
Merged
Conversation
…ion templates - shared/tracker-sync-protocol.md: the three lanes (one-way push, one-time intake, state proposals), the .tracker-sync/ store with map.jsonl canonical ordering and cursor loss recovery, fingerprint definition and normalization, SaaS marker pre-create idempotency, designated-branch concurrency policy, conflict/proposal/orphan policies, failure semantics, rate-limit rule, and the per-SaaS map for Jira / Linear / GitHub Issues with state-table starters. - harness-setup references/tracker-sync-template.md: the generated tracker-sync skill (scoped / full / report modes), the sync-config (mapping.md) template with elicitation guidance (Jira state table via MCP read with interview fallback, intake filter, backfill, cadence), the sync agent template, and the per-venue schedule-registration block (read-only drift report, daily on workdays by default). - orchestrator-template.md: addendum T4 (scoped tracker-sync write-through) spliced after T3, gated on the generated tracker-sync skill being present.
…on, and review - harness-setup: the process-layers gate gains the sync sub-step, offered only when both an agentic and a human tracker are present or declared, with the sync preflight (validate both tracker entry points by calling them before generating anything — adversarial finding #10, narrow scope); Step 2b gains the register/unregister-schedule manifest action kind, marked environment-level; Step 5 gains the generation-verification checklist over all generated artifacts (grep for unsubstituted {PLACEHOLDER} tokens and ${CLAUDE_PLUGIN_ROOT} references — adversarial finding #3); matching deliverable-checklist items; description carries the sync triggers. - detection-signatures: human-tracker usage signals (Jira keys in commits, linear.app links, configured Atlassian/Linear MCP, gh auth + ISSUE_TEMPLATE staying rule-5 weak) — all report-and-ask, never silent conclusions. - harness-review: tracker-sync drift signals (cursor age vs cadence, unresolved conflicts, open-proposal backlog age, orphan counts, stale reports/). - tracker-advisor: the sync-boundary rows now point at harness-setup instead of naming a planned future capability. - README: document the dual-tracker sync capability.
Plugin and marketplace manifests move together (validate-versions.sh enforces the match); both descriptions gain the dual-tracker sync capability.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the approved v0.8.0 dual-tracker sync design (spec 1.1.0, decisions D1–D9 settled 2026-06-12). When a project runs both a repo-native tracker agents work (Beads, Backlog.md, git-bug, …) and a human-oriented SaaS tracker people watch (Jira, Linear, GitHub Issues),
harness-setupcan now generate a project-local sync that keeps the SaaS as a projection of the repo-native source of truth.This is plugin-side work only: everything "generated" is authored as templates and protocol docs that
harness-setupinstantiates later in target projects.The sync model (
shared/tracker-sync-protocol.md, new).tracker-sync/at repo root (D5):map.jsonl(canonical ordering for line-stable merges),cursor.json(intake watermark only, with defined loss recovery),conflicts.md,proposals.md, gitignoredreports/.human-trackerrole intools.md; no tokens anywhere under.tracker-sync/; headless runs are read+report-only (D2), so absent headless auth degrades to a visible "role unavailable" report.Generation templates (
harness-setup/references/tracker-sync-template.md, new)The generated
tracker-syncskill (three run modes:scopedfor the orchestrator write-through,fullfor on-demand catch-up,reportfor read-only headless runs), the sync-config (mapping.md) template with elicitation guidance (state table, intake filter, backfill withnew-from-nowdefault, branch, cadence, cap), the single sync agent template, and the per-venue schedule-registration block (local scheduled agent or crontabclaude -p "/tracker-sync report", default daily on workdays — D3/D8). Hooks remain rejected as a trigger.Wiring
harness-setupSKILL.md: the process-layers gate gains the sync sub-step, offered only when both tracker kinds are present/declared, with the sync preflight that validates both tracker entry points by actually calling them before generating (adversarial feat(agentic-harness): mandatory pre-write change-manifest approval (v0.3.0) #10-narrow, D7); Step 2b gains theregister / unregister schedulemanifest action kind, explicitly environment-level; Step 5 gains the placeholder-verification checklist over all generated artifacts — grep for unsubstituted{PLACEHOLDER}and${CLAUDE_PLUGIN_ROOT}(adversarial devcontainer-generator: automatic host config and auth sharing for agentic coding tools #3, D7); matching deliverable-checklist items.orchestrator-template.md: addendum T4 (scoped tracker-sync write-through) spliced after T3, gated on the generated sync skill existing.detection-signatures.md: human-tracker usage signals (Jira keys in commits,linear.applinks, configured Atlassian/Linear MCP,ghauth + ISSUE_TEMPLATE staying rule-5 weak) — all report-and-ask.harness-review: sync drift signals — cursor age vs cadence, unresolved conflicts, open-proposal backlog age, orphan counts, stalereports/.tracker-advisor: its sync boundary rows now point atharness-setupinstead of "a planned future capability".Both cuts (Cut 1 sync core, Cut 2 intake + operations) ship in this single 0.8.0 release per D9.
Test plan
bash tests/ci/run-structural-tests.sh— all 4 suites pass (plugin structure, connectors, reference paths, version sync at 0.8.0)claude plugin validate ./agentic-harness --strict— passes🤖 Generated with Claude Code