# v0.4.1-rc.1 Release Notes

## Version

`v0.4.1-rc.1`

## Dist Tag

`next`

This is the corrected next-channel package on the `0.4.x` line. Registry
`latest` remains official `0.4.0`, `next` is `0.4.1-rc.1`, and `alpha` remains
`0.3.9-alpha.8`.

Registry `next` briefly moved to a superseded `0.5.0-rc.1` build. That package
is not treated as an accepted release milestone or docs evidence record. This
release candidate restores ROADMAP delivery to the `0.4.x` line.

Do not move `latest` for this release candidate.

Post-publish registry state:

- `persona-harness@next`: `0.4.1-rc.1`;
- gitHead: `9d80e9c7f63986a3223901e9fe54550e86b8b425`;
- shasum: `fbcc0cc5617d616983a48d3d20b51afe74de0b01`;
- `latest`: `0.4.0`;
- `alpha`: `0.3.9-alpha.8`;
- local and remote `v0.4.1-rc.1` tags point at
  `9d80e9c7f63986a3223901e9fe54550e86b8b425`.

Trusted Publisher publish succeeded, and the tag-triggered GitHub Release
workflow succeeded after adding checkout before `gh release create`.

## Summary

`0.4.1-rc.1` packages post-0.4.0 accepted local/current surfaces:

- instruction inference/adoption/check preview;
- read-only A/B evidence reporting;
- precise Spring `bootJar` disabled conformance blocker;
- TDD rail adversarial evidence hardening;
- CodeGraph default downgrade to remote-only developer MCP defaults with
  explicit `--codegraph-preview` opt-in;
- Trusted Publisher workflow hardening for Node 24/npm provenance.

## Instruction Preview

The instruction preview adds:

- `ph instructions infer backend [--json]`;
- `ph instructions adopt [--min-confidence high|medium|low] [--json]`;
- `ph instructions check [--json]`.

Inference writes local `.persona/instructions/inferred.json` and
`conflicts.json` with source references and provenance. Adoption writes a local
review file, `.persona/instructions/adopted.json`, for non-conflict inferred
candidates. Check reads adopted rules only and currently supports the
deterministic Controller/Service/Repository drift check.

This preview does not mutate harness config, workflow closure state, or finish
blockers. It is not company instruction compliance, an app-quality guarantee,
Clean Code superiority proof, a broad linter, or a closure guarantee.

## Evidence Reporting

`ph evidence ab-report [--json]` aggregates local structured
`persona-ab-measurement.1` evidence into `evidence-ab-report.1`. It reports
finish outcomes, blocked-invalid-completion counts, elapsed time,
provider-token totals, read chars, tool calls, and MCP calls when those fields
are present. Missing telemetry remains unavailable rather than fabricated.

This is not token-saving, provider-token saving, product-efficacy,
navigation-benefit, app-quality, or test-sufficiency evidence.

## Deterministic Gates

The release candidate includes a precise `spring.bootjar-enabled` conformance
blocker for executable Java/Spring/Gradle application profiles. It blocks when
`@SpringBootApplication` and a Spring Boot build signal are present and Gradle
disables `bootJar`. It emits file:line evidence and a fix path through the
existing closure/archive/finish guard.

The TDD rail also has additional adversarial tests for stale red evidence with
mismatched JUnit snapshot digests and red evidence under the wrong ticket.

These are scoped deterministic blockers and tests, not a broad AST/linter
product, generated-app certification, full TDD framework, test-sufficiency
proof, broad reliability claim, or closure-success guarantee.

## Developer MCP Defaults

Backend bootstrap now registers only remote `grep_app` and remote `context7` by
default. The local PH CodeGraph wrapper is opt-in:

```sh
npx ph bootstrap backend --codegraph-preview
```

`--no-codegraph` remains accepted as a compatibility/no-op guard for the
default remote-only developer MCP bundle. `--no-developer-mcp` still disables
developer MCP entries. PH does not run `codegraph init` and does not create
`.codegraph/`.

The CodeGraph wrapper metadata is aligned with this behavior:
`registeredWithOpenCodeByDefault=false`, `optInFlag=--codegraph-preview`, and
`tokenSavingsClaimed=false`.

This is not token-saving, provider-token saving, product-efficacy,
navigation-benefit, default-CodeGraph-effectiveness, PH-owned CodeGraph,
CodeGraph replacement, OMO parity, Codex support, broad reliability, or closure
guarantee evidence.

## Pre-Publish Evidence

Accepted local/current package-runtime evidence before release prep:

- instruction preview External smoke archive:
  `/Users/yongtae/Desktop/persona-harness-artifacts/archive/2026-06-24-desktop-persona-runs/instructions-infer-adopt-check-ef18f8f-20260701T164452Z`;
- CodeGraph downgrade External smoke archive:
  `/Users/yongtae/Desktop/persona-harness-artifacts/archive/2026-06-24-desktop-persona-runs/codegraph-default-downgrade-451e486-20260701T170739Z`;
- CodeGraph downgrade tarball shasum:
  `e60649b2e42a8a69b30e10fb1834a0d83e61985a`.

## Post-Publish Registry Smoke

External registry smoke installed `persona-harness@next` as `0.4.1-rc.1`. The
superseded wrong-channel `0.5.0-rc.1` package was not used.

- Archive:
  `/Users/yongtae/Desktop/persona-harness-artifacts/archive/2026-06-24-desktop-persona-runs/rc041-rc1-registry-package-runtime-20260702T010930Z`.
- RESULT:
  `/Users/yongtae/Desktop/persona-harness-artifacts/archive/2026-06-24-desktop-persona-runs/rc041-rc1-registry-package-runtime-20260702T010930Z/RESULT.md`.
- Package entries included instruction infer/adopt/check, evidence
  `ab-report`, workflow TDD status, Spring bootJar and service-state
  conventions, the CodeGraph MCP wrapper, and the LSP MCP wrapper.
- Basic CLI help/version/init/doctor/bootstrap passed.
- Developer MCP/CodeGraph downgrade passed: default remote-only
  `context7`/`grep_app`, `--codegraph-preview` opt-in, `--no-codegraph`
  remote-only, `--no-developer-mcp` none, no `.codegraph` auto-init, and
  corrected CodeGraph metadata/facade.
- Instruction preview infer/adopt/check passed with schemas, conflict/drift
  output, and no config or closure mutation.
- Evidence metrics and `ab-report` JSON/human read-only surfaces passed.
- Regression spots passed for service-state, Controller→Repository, Spring
  bootJar, read-only `workflow tdd`, and LSP preview unavailable facade.

This is registry package/runtime evidence only. It is not a latest move,
token-saving, provider-token-saving, product-efficacy, navigation-benefit,
app-quality, full TDD/test-sufficiency, CodeGraph/LSP default/effectiveness,
broad reliability, closure guarantee, Codex support, OMO parity, or
code-nav/CodeGraph replacement claim.

## Claim Audit

Do not claim:

- token saving or provider-token saving;
- app/product quality guarantee;
- full TDD framework, scaffolding, coverage, mutation testing, or test
  sufficiency;
- LSP default behavior, LSP effectiveness, or broad navigation benefit;
- default CodeGraph effectiveness or PH-owned CodeGraph behavior;
- broad AST/linter product or general architecture correctness;
- broad reliability, closure guarantee, or generated-app certification;
- Codex support;
- OMO parity/replacement or code-nav/CodeGraph replacement.
