# v0.5.0-rc.2 Release Notes

## Version

`v0.5.0-rc.2`

## Dist Tag

`next`

This is the corrected release-prep record for the first gate-first `0.5.x`
release candidate.

Post-publish registry state:

- `persona-harness@next`: `0.5.0-rc.2`;
- `persona-harness@latest`: `0.4.0`;
- `persona-harness@alpha`: `0.3.9-alpha.8`;
- registry gitHead: `64696dce6daf5e4501609648f3ceb9acb830db87`;
- registry shasum: `a09d6e84f368befddfc7193308ac4912568c4557`;
- `persona-harness@0.5.0-rc.1`: already exists at wrong-channel gitHead
  `dcc34e071d167923b8cf40be095b303ba649d3ca`;
- `v0.5.0-rc.1`: remote tag already points at
  `dcc34e071d167923b8cf40be095b303ba649d3ca`;
- `v0.5.0-rc.2` tag: `64696dce6daf5e4501609648f3ceb9acb830db87`.

Because npm package versions are immutable, the corrected gate-first RC did not
reuse `0.5.0-rc.1`. It advanced to `0.5.0-rc.2`.

## Summary

`0.5.0-rc.2` changes the product default from runtime-guidance-first to
gate-first.

The accepted 10-pair local-current OpenCode A/B result showed PH OFF and PH ON
both succeeded 10/10, while PH ON increased measured provider-token totals,
read chars, tool calls, and elapsed time in all 10 pairs for that fixture set.
That negative measurement moves runtime guidance out of the default path.

The product center is now:

- local workflow/check/finish/archive gates;
- PH-generated evidence and explicit verification records;
- TDD evidence rail and deterministic blockers;
- read-only evidence reporting and P-minus decision support.

OpenCode runtime guidance remains available as opt-in preview behavior.

## Default Runtime Behavior

Default bootstrap is gate-first:

```sh
npx ph bootstrap backend
```

The default setup writes:

- `features.runtimeInjection=false`;
- `enforce.systemConstitution=false`;
- `enforce.executeVerification=false`.

Runtime injection, system constitution injection, workflow prompt rail
injection, and continuation text are default-off.

To opt into model-facing runtime guidance:

```sh
npx ph bootstrap backend --runtime-injection-preview
```

This writes `features.runtimeInjection=true` while keeping system constitution
and direct verification off unless separately enabled.

Strict bootstrap intentionally opts into the heavier rail:

```sh
npx ph bootstrap backend --strict
```

Strict mode writes:

- `features.runtimeInjection=true`;
- `enforce.systemConstitution=true`;
- `enforce.executeVerification=true`.

Strict mode is still not generated-app product-quality certification and not a
closure guarantee.

## Logo And README

The npm/GitHub README hero includes the Persona Harness logo:

- packaged asset: `img/Persona-Harness-Logo.png`;
- README files updated: `README.md`, `README.ko.md`, `README.ja.md`,
  `README.zh-cn.md`.

The README copy is gate-first: completion evidence and finish gates are the
default product path; runtime guidance is optional preview behavior.

## Accepted Local Evidence

The gate-first downgrade was accepted as local/current tarball package-runtime
evidence before release prep.

- target commit:
  `e377d18d4de40e6bd81e5c67130da603c89c8950`
  (`fix(runtime): default runtime injection off`);
- version at smoke time: `0.4.1-rc.2`;
- external archive:
  `/Users/yongtae/Desktop/persona-harness-artifacts/archive/2026-06-24-desktop-persona-runs/gate-first-runtime-injection-e377d18-20260702T082934Z`;
- tarball shasum: `350cb8dfb922abe181ba76fdf52a7b18adcf53cb`;
- sha256:
  `33ec654574285af253bed991cd40eaae892532ff421f7fb124298d76d284ae7a`;
- entryCount: `522`.

The smoke verified default bootstrap, `--runtime-injection-preview`,
`--strict`, basic CLI, and workflow/evidence gate spot behavior.

Fresh registry smoke after publish:

- archive:
  `/Users/yongtae/Desktop/persona-harness-artifacts/archive/2026-06-24-desktop-persona-runs/rc050-rc2-registry-smoke-20260702T090723Z`;
- installed version: `0.5.0-rc.2`;
- registry gitHead: `64696dce6daf5e4501609648f3ceb9acb830db87`;
- registry shasum: `a09d6e84f368befddfc7193308ac4912568c4557`;
- packaged logo present: `img/Persona-Harness-Logo.png`;
- rc2 release notes present;
- default bootstrap kept `runtimeInjection=false`,
  `systemConstitution=false`, and `executeVerification=false`;
- `--runtime-injection-preview` set `runtimeInjection=true` while keeping
  system constitution and execute verification false.

## Claim Audit

Do not claim:

- token saving or provider-token saving;
- product efficacy or navigation benefit;
- app/product quality guarantee;
- full TDD framework, scaffolding, coverage, mutation testing, or test
  sufficiency;
- CodeGraph/LSP default behavior or effectiveness;
- broad AST/linter product or general architecture correctness;
- broad reliability, closure guarantee, or generated-app certification;
- Codex support or code-nav replacement;
- automatic downgrade/removal beyond read-only P-minus decision support.

Allowed wording:

- gate-first default;
- runtime guidance default-off and opt-in preview;
- 10-pair local-current fixture result was negative for runtime injection;
- finish/evidence gates block explicitly defined unverified completion paths.
