This repository is the distribution layer for the RIC Harness Codex plugin. The executable
engine, CLI, protocols, and runtime live exclusively in
lichong-a/ric-harness. This repository contains only
the plugin manifest, Skills, compatibility lock, local marketplace, validation, tests, and release
materials.
The current synchronized release is 0.3.9, pinned to:
- npm package
@ric-infra/harness-cli@0.3.9; - engine commit
e397763a37993725b70edbfdbed35a14af8cb00c; - engine tree
2946ec45c2169eb2d0624cc14a049ea012d99e6d.
Harness 0.3.9 improves the Operations Console with newest-first durable runs, component-contained scrolling, readable event details, and optional raw JSON. Reliability updates cover trusted dependency reads on Windows and recovery from transient file access failures. These are engine behaviors surfaced by the pinned public CLI; the plugin does not copy their implementation.
plugins/ric-harness/config/compatibility.json is the machine-readable compatibility authority.
ric-harness-plugin/
├── .agents/plugins/marketplace.json # Git/repository marketplace catalog
├── .agents/skills/harness-* # governance for this repository only
├── .codex/ # this repository's Codex control plane
├── .harness/ # this repository's Harness control plane
├── .github/workflows/ci.yml
├── openspec/ # stable spec and archived release change
├── plugins/ric-harness/ # the distributable Codex plugin
│ ├── .codex-plugin/plugin.json
│ ├── skills/
│ ├── references/
│ ├── scripts/resolve-cli.mjs
│ ├── config/compatibility.json
│ └── assets/
├── docs/ # release, privacy, terms, and support
├── scripts/ # validation, packaging, and freeze Gates
└── tests/ # contract, unit, E2E, eval, and fixtures
Only plugins/ric-harness/** enters the formal plugin archive.
The two source repositories remain peers. This delivery does not add plugin code, adapters, MCP surfaces, schemas, branches, commits, tags, or generated files to the engine repository:
D:\workspaces\mine\
├── ric-infra-harness\ # engine/CLI/protocol/runtime; version authority
└── ric-harness-plugin\ # Codex distribution; follows the same version
Installing the plugin populates only the Codex-managed plugin cache. It does not copy plugin source into a business repository. After the user explicitly requests setup and the Harness CLI accepts a unique recipe, the target repository has this shape:
<business-repository>\
├── .agents\
│ └── skills\
│ ├── harness-workflow\
│ │ └── SKILL.md
│ └── harness-audit\
│ └── SKILL.md
├── .codex\
│ ├── config.toml
│ └── rules\
│ └── harness.rules
├── .harness\
│ ├── project.json
│ ├── policy.json
│ ├── commands.json
│ ├── managed-files.json
│ └── README.md
├── openspec\
│ ├── config.yaml
│ ├── specs\
│ └── changes\
├── AGENTS.md # human area preserved; managed block synchronized
└── <existing application source, tests, manifests, and lockfiles>
The following directories never appear in the target repository:
plugins\ric-harness\
.codex-plugin\
ric-harness-plugin\
Formal Codex cache content is managed outside both repositories:
%USERPROFILE%\.codex\plugins\cache\
└── <marketplace-id>\
└── ric-harness\
└── 0.3.9\
├── .codex-plugin\
├── skills\
├── references\
├── scripts\
├── config\
└── assets\
A development cache-buster may exist only in
%TEMP%\ric-harness-plugin-dev\0.3.9+codex.local-<timestamp>\. The formal source, tag, archive,
and installed release remain exactly 0.3.9.
Harness durable state remains private to the engine and is accessed only through public CLI commands:
%LOCALAPPDATA%\ric-harness\
└── workspaces\
└── <repository-sha256-digest>\
├── state.sqlite
├── artifacts\sha256\
├── worktrees\
├── locks\
└── tmp\
Requirements: Node.js 24 and pnpm 11.
pnpm install --frozen-lockfile
pnpm validate
pnpm package:pluginThe resulting formal archive is dist/ric-harness-plugin-v0.3.9.zip. Packaging accepts exactly the
18 declared plugin files, rejects every addition (including runtime state, credentials, .env,
MCP/app/hook, and cache-buster content), and normalizes allowlisted UTF-8 text to LF. CI requires
the raw Ubuntu and Windows ZIP SHA-256 digests to match.
To verify the locked engine checkout without modifying it:
node scripts/assert-upstream-readonly.mjs --path D:\workspaces\mine\ric-infra-harness --require-development-pathThe repository marketplace is .agents/plugins/marketplace.json. Installing the plugin alone does
not modify a target business repository; the setup Skill must be explicitly invoked.
See docs/release-process.md for synchronized release and evidence requirements.