Skip to content

Rebrand and harden Independent QA as Crosscheck #1

Description

@jtcchan

Released September 7, 2026

Crosscheck 0.3.0-rc.1 is published and PR #2 is merged. Independent QA passed all required criteria under the explicit Codex-first scope clarification. Authenticated Claude execution remains unverified and is not a required release gate. All source-issue acceptance and proof items below are complete for this release candidate; automatic fleet rollout is separate. The original human-intent quote is retained.

Objective

Rebrand and harden the open-source Independent QA Agent as Crosscheck: the fresh-context, read-only verification gate that must return PASS before completed work can move to merge or closure.

Human intent

Audit it for improvements now that we’re on Astra; make it more robust depending on the type of task or decision being QA’d; improve completion evidence such as screenshots and videos; and rebrand it to Final Boss. It should run after the assignment and/or No Mistakes, use an ephemeral independent agent with fresh context, remain read-only, publish a plain-language PASS/FAIL report to the worker thread and GitHub, and remain an open-source project maintained under 2x.

Current-state audit

There are two divergent public implementations:

  • 2xgrowthagency/independent-qa-agent is the intended organizational home but contains the older v0.1 implementation.
  • jtcchan/workboard-qa-agent contains the stronger v0.2.1 implementation: deliverable/decision/process modes, target fingerprinting, execution-separation proof, stale-target invalidation, structured findings, plain-language summaries, and idempotent GitHub publication.

The organizational repo should become canonical. The personal repo should be treated as migration input and later archived or redirected only after compatibility and installation paths are proven.

Scope

In scope

  1. Brand and ownership

    • Rename the product, plugin, marketplace entry, documentation, prompts, and report headings to Crosscheck.
    • Keep 2x Growth Agency as the canonical maintainer and repository owner.
    • Preserve a documented compatibility path for existing independent-verification, qa-agent, and workboard-qa-agent users during migration.
  2. Astra-era verifier contract

    • Define a fresh, ephemeral verifier session with no inherited builder conversation or target write ownership.
    • Default 2x routing to Astra, with reasoning effort selected by risk/ambiguity rather than one global setting.
    • Keep the open-source instructions harness-agnostic; Astra-specific routing belongs in an explicit adapter/example.
    • Treat builder summaries, screenshots, logs, and claimed test results as leads, never as sufficient proof.
  3. Task- and decision-aware QA profiles

    • Support at least: code/PR, UI/website, interactive workflow, document/content, data/report, operational/configuration, decision/recommendation, and QA-process evaluation.
    • For each profile, define required inputs, default checks, mandatory evidence, common failure modes, stop conditions, and what a PASS permits.
    • Allow more than one evidence lane when the acceptance contract crosses boundaries, while keeping one primary verdict target.
    • Separate required criteria from advisory observations before checks begin.
  4. Evidence bundle and completion proof

    • Define one versioned evidence manifest that binds the exact target, base, environment, verifier session, capture time, tool/version, criteria, check results, and artifact hashes.
    • Require current screenshots for visual claims, including named viewport and exact URL/revision.
    • Require a video or trace for material multi-step interactions where still images cannot prove the sequence; do not require video for static or non-visual work.
    • Capture console/network/HTTP evidence when relevant, rendered-document proof for documents, reconciliations for data, and persisted-state readback for operations.
    • Mark every artifact local-only, safe-to-share, or redacted; never publish unreviewed screenshots, secrets, client data, cookies, or absolute local paths.
    • Make stale or changed targets invalidate the verdict automatically.
  5. Gate semantics and rework loop

    • PASS is the only verdict that clears Crosscheck for the exact bound target.
    • FAIL means a required criterion is violated and routes to bounded rework.
    • BLOCKED means the verdict cannot be established safely; it is a non-pass and names the exact unblock owner/action.
    • Any later target change, push, rebase, deployment, evidence refresh, or material configuration change requires a fresh Crosscheck run.
    • Crosscheck never edits product work, fixes findings, merges, closes, deploys, changes account state, or expands authority.
  6. Human-readable reporting and publication

    • Write a durable technical report and a small machine-readable gate receipt.
    • Publish an idempotent comment to every explicitly associated PR and issue, and an informational result to the original worker thread.
    • Human-facing output must explain: what the ticket was for, what was checked in ordinary language, the verdict and practical meaning, any blocker/failure, what happens next, and whether a person needs to act.
    • Follow the active communication guidance (for 2x, TASTE.md) at response time rather than copying private/local style rules into the public skill.
    • Keep publication status separate from the QA verdict so a comment failure cannot rewrite a conclusive product result.
  7. Open-source quality and migration

    • Migrate the stronger public v0.2.1 behavior into the 2x repo without losing its safety boundaries.
    • Add deterministic schema/contract validation for the evidence manifest and gate receipt.
    • Add behavior-oriented fixtures for correct work, required defects, missing evidence, stale targets, publication failure, interactive-media requirements, and redaction/privacy failures.
    • Document Codex and Claude Code installation, generic agent usage, No Mistakes handoff, and Workboard integration without making Workboard mandatory.
    • Publish migration notes and a versioned release after fresh independent QA.

Out of scope

  • Automatic merge, issue closure, deployment, production mutation, or account changes.
  • Replacing code review, CI, No Mistakes, or human product judgment.
  • Uploading local/private evidence without an explicit safe-sharing decision.
  • Treating model identity alone as independence.
  • Archiving or deleting the personal repository before the new canonical install and migration path are verified.

Suggested starting points

  • Organizational baseline: 2xgrowthagency/independent-qa-agent
  • Migration source: jtcchan/workboard-qa-agent at v0.2.1
  • Primary skill: plugins/**/skills/independent-verification/SKILL.md
  • Existing mode references: decision-analysis.md, process-evaluation.md
  • Existing publication contract: result-publication.md
  • Add task profiles, evidence schema/examples, behavior corpus, and migration documentation beside the skill.

Acceptance criteria

  • The canonical public project and visible brand are Crosscheck, maintained under 2xgrowthagency.
  • Existing users have a tested, documented compatibility/migration path.
  • A fresh-context, read-only verifier contract is explicit and testable.
  • Astra routing is defined for 2x without making the public skill Astra-only.
  • Every supported QA profile has concrete checks, evidence expectations, and verdict meaning.
  • Visual work requires current screenshot proof; multi-step interactions require video/trace proof when sequence matters.
  • A versioned evidence manifest and machine-readable gate receipt validate deterministically.
  • Only PASS clears the gate; FAIL, BLOCKED, or stale evidence cannot be treated as approval.
  • PR, issue, and worker-thread summaries are plain-language, useful without prior context, and idempotently published.
  • Publication failure is tracked separately from the verdict.
  • Crosscheck remains read-only except for its own reports and explicitly authorized result comments.
  • Behavior fixtures cover pass, fail, blocked, stale target, evidence-media, privacy/redaction, and publication scenarios.
  • Repository validation, focused tests, and plugin/skill validation pass on the final diff.
  • A separate fresh Crosscheck process evaluation passes the exact release candidate before release.

Required proof

  • Audit/migration matrix showing which v0.2.1 behaviors were preserved, changed, or intentionally retired.
  • Deterministic tests and schema validation output.
  • Example evidence bundle with safe screenshots and a short interaction recording or trace.
  • Example human-facing PASS, FAIL, and BLOCKED comments for a PR/issue and worker thread.
  • Exact-head plugin and skill validation.
  • Fresh independent process-verification report against the release candidate.
  • Install smoke from the 2x repository plus compatibility smoke for the previous public name.

Stop and ask if

  • A compatibility choice would silently break existing installations.
  • The repository rename/redirect cannot preserve GitHub clone and marketplace behavior.
  • Required media evidence would expose private/client data or credentials.
  • A requested integration would give Crosscheck mutation authority beyond reports/comments.
  • Release, archive, deletion, or other irreversible publication is required.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    codex-readyBounded and ready for Codex executionenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions