Get the Reactor packages mergeable + publishable and the launch surfaces coherent. CI / publish (ci-reactor-package.yml): - Drop the deleted reactor-cradle from the workflow and remove the obsolete .mjs release-gate suite (.github/scripts/*reactor*.mjs + tests) entirely. - Add per-package pack + publish jobs for @openprose/reactor, @openprose/reactor-cli, and @openprose/reactor-devtools (idempotent, version-from-package.json, reactor-v* tag-gated, provenance). The two CLI packages now have a release path. - Fix the dangling cradle reference in tools/cli build-release-tarball.mjs; regenerate pnpm-lock.yaml. Install / first-run: - reactor-cli: @openprose/reactor moved peer -> dependency (a global install now pulls the SDK); @openai/agents + zod become optional peers (keyless install stays light). - SDK README: replace non-existent *V0 imports with the real exports (verifyReceipt / LedgerReceipt / inspectReceiptProof / projectReceiptProof). - CLI README + http-server comment: correct the trigger route to POST /trigger/<node>. Front-door + taxonomy: - Promote the Reactor-forward launch README; add the technical report at docs/reactor/v0.1/report.md (replacing the stale v0.1). - Migrate SKILL.md and all packages/std + packages/co contracts off the retired taxonomy (kind: service -> function, kind: system deleted, ### Ensures -> ### Maintains, ### Criteria/### Services folded) onto the Reactor model. Prune the dead cradle-importing examples: drop flat-tokens and release-readiness/reactor-package-example (keeping release-readiness/src, which is tested). Gates: build, test:reactor:offline, test:examples (10/0), test:skill (252/252) all green offline. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.4 KiB
name, kind
| name | kind |
|---|---|
| critic | function |
Critic
Evaluate a work product against stated quality criteria and produce a structured accept/reject verdict with reasoning. Use critic when the judgment is subjective -- does this meet the bar? Is the writing clear? Is the analysis thorough? Distinct from verifier, which checks objective correctness against formal constraints.
Description
Evaluate a work product against quality criteria and render a subjective verdict.
Metadata
version: 0.1.0
Parameters
- result: the work product to evaluate
- criteria: what constitutes acceptance (quality standards, not formal rules)
- task: the original task description, for context on what the result was supposed to accomplish
Returns
- evaluation: a structured verdict containing:
- verdict: "accept" or "reject"
- reasoning: why the criteria are or are not met -- specific, not "looks good"
- issues: specific, actionable problems found (each states what is wrong and why)
- suggestions: concrete next steps to address each issue (not restatements of the issues)
The returned evaluation satisfies these postconditions: if the verdict is "accept", the reasoning explains why the criteria are satisfied, with evidence; if the verdict is "reject", at least one issue is listed. The critic does not fix the result -- the returned evaluation identifies problems and suggests directions only.
Errors
- missing-criteria: no evaluable criteria were provided
- incompatible-result: the result is not the type of artifact the criteria apply to (e.g., criteria for a report applied to raw data)
Strategies
- when evaluating: parse criteria into individual conditions and assess each independently before synthesizing a verdict
- when criteria conflict: note the tension explicitly rather than silently privileging one criterion over another
- when the result is close to passing: do not lower the bar -- reject with specific guidance on what would make it acceptable
- when accepting: still note minor issues as suggestions, even if they do not warrant rejection
Notes
Critic renders quality judgments. Verifier checks formal correctness. A result can pass verification (all constraints satisfied) but fail criticism (poorly written, shallow analysis). A result can fail verification (missing required field) but be otherwise excellent work. Use critic for "is this good enough?" and verifier for "is this correct?"