# v0.3.9-alpha.1 Release Notes

## Version

`v0.3.9-alpha.1`

## Dist Tag

`alpha`

During the alpha pilot, `latest` may be synchronized to the current alpha build to avoid stale default installs. This is not a stable support claim.

## Summary

This prerelease exists because `persona-harness@0.3.9-alpha.0` was already published to npm from an earlier prep commit and cannot be overwritten with the later release-prep refresh contents.

Persona Harness remains an AI coding workflow rail + evidence + continuation harness. It is not a Java Clean Code quality guarantee, generated app product-quality certification, AST/linter, or enforcement engine.

## Registry Stale Note

- npm already has `persona-harness@0.3.9-alpha.0`.
- That registry artifact reports `gitHead` `4338cc51b40eb9ba3b3853e9df394373fc2b0269`.
- The refreshed alpha.0 release-prep/tag commit was `b31b557 chore(release): refresh 0.3.9-alpha.0 prep`.
- npm versions are immutable, so the refreshed current HEAD state must be published as a new version instead of overwriting `0.3.9-alpha.0`.
- `0.3.9-alpha.1` carries the alpha.0 refresh content forward with a fresh package version.

## What Changed

### Alpha.0 refresh contents carried forward

- Docs stale guard in the release checklist:
  - package version, lockfile, CHANGELOG, release note, and develop record alignment;
  - surface-verified smoke versus full generated-app behavior verification;
  - generated app product quality certification wording;
  - registry `gitHead` / current `HEAD` mismatch recording;
  - develop commit/no-commit reporting.
- v0.4 evaluation docs:
  - evaluation methodology;
  - three fixture files;
  - evaluation plan;
  - runbook.
- v0.4 runbook operational details:
  - fixture order;
  - baseline condition setup;
  - metadata capture;
  - artifact archive naming;
  - primary and secondary metrics;
  - blind package preparation;
  - second reviewer handoff;
  - kill-gate calculation timing.
- Runbook release-reference guard: release prep may mention the runbook only when it exists in the target HEAD being prepared.
- Verified report manual backfill plan:
  - artifact selection;
  - rule ID evidence source mapping;
  - PASS / WARN / FAIL / UNKNOWN judgment criteria;
  - confidence and source handling;
  - false-positive review;
  - v0.5 parser spike decision criteria.
- Skills guidance brevity audit:
  - fake Gradle shim remains forbidden;
  - wrapper-first verification remains preferred;
  - Spring Boot dependency-management guidance remains in force.
- Runtime structured warning output:
  - warning shape is `[Persona Harness Runtime Warning] kind=... scope=...`;
  - host hook throws remain guarded;
  - evidence writes remain best-effort.
- CLI report coverage helper refactor:
  - report coverage finding logic is split into `workflow-report-coverage.ts`;
  - workflow semantics are unchanged.

### External develop artifacts

- Lane retrospectives and templates were prepared outside this repository under the develop operating context.
- They are not committed here and are not package contents.

## External Smoke

No new External Smoke was run for this release prep.

Pre-alpha9 and focused smoke remain surface/guidance verified.

Observed before this prep:

- Parser hardening local/Windows adversarial fixture succeeded.
- Clean tarball install, `init`, `bootstrap`, and `doctor` succeeded.
- PH ON bounded OpenCode run confirmed workflow rail/profile/evidence/pending block behavior but stopped before implementation files were generated.
- PH OFF baseline used the same README but drifted to CommonJS/in-memory Node HTTP server.
- Current local tarball surfaced report coverage guidance through `check`, `continue`, and `finish`.
- Spring Boot dependency-management guidance surfaced through README/build.gradle injection.

Important limits:

- Focused/pre-alpha smoke is surface/guidance verified.
- This prep did not directly verify a full OpenCode continuation applying dependency guidance, filling reports by itself, and reaching `finish` PASS.
- This release does not certify generated app product quality.
- AST/linter/enforcement is still absent.

## Post-publish Registry Surface Smoke

After publish, External Smoke verified the published registry package surface on Windows.

Result: passed for install/init/bootstrap/doctor/workflow/bearshell/backend-shape surfaces.

Registry facts:

- Install source: registry `persona-harness@alpha`.
- Installed package: `persona-harness@0.3.9-alpha.1`.
- Dist-tags: `latest=0.3.9-alpha.1`, `alpha=0.3.9-alpha.1`.
- Registry `gitHead`: `bc7eaddc678b6268be1194d7e659123f895e6fd5`.
- Registry shasum: `c901e24a0c6da82658ebf6800f038223d0e93de4`.
- Windows clean path: `C:\Users\user\Desktop\persona-harness-registry-alpha1-20260625-211710`.
- Archive: `/Users/yongtae/Desktop/persona-harness-artifacts/archive/2026-06-24-desktop-persona-runs/registry-alpha1-smoke-20260625-211710`.

Observed surface:

- `ph doctor`: Runtime readiness PASS, npm/npx/OpenCode present.
- `ph init` / `ph bootstrap backend`: expected files created.
- `ph plan --prompt` / `workflow implement`: Windows-safe bearshell read/search guidance observed.
- README-only `Select-String -Path README.md -Pattern TODO` ran through `npx ph bearshell`.
- Gradle wrapper, dependency-management, and fake-shim avoidance guidance were observed in package backend rules.
- `workflow check`: WARN only for template reports and missing evidence.
- `review backend-shape`: report written; WARNs were expected because no generated Java app existed; fake shim absent PASS.
- `workflow finish implement`: expected exit 1 with exact fixes requiring filled implementation/review reports and an evidence file.

Release operation note:

- HQ local checks before this smoke did not find tag `v0.3.9-alpha.1` locally or on origin.
- This note records the gap only; it does not authorize tag creation or tag rewrite.

Boundaries:

- This is a registry install/surface smoke only.
- OpenCode README implementation smoke was not attempted.
- It does not certify full OpenCode generated-app behavior or generated app product quality.
- backend-shape WARNs are expected in this smoke because there is no generated Java app.
- AST/linter/enforcement is still absent.

## Post-publish Full Continuation Smoke

External Smoke also ran a published registry OpenCode generated-app smoke for `persona-harness@0.3.9-alpha.1`.

Result: partially successful.

Source:

- Install source: registry `persona-harness@alpha` / `0.3.9-alpha.1`.
- Registry `gitHead`: `bc7eaddc678b6268be1194d7e659123f895e6fd5`.
- Registry shasum: `c901e24a0c6da82658ebf6800f038223d0e93de4`.
- Windows clean path: `C:\Users\user\Desktop\persona-harness-alpha1-full-continuation-20260625-214000`.
- OpenCode session: `ses_101225cc2ffenzF7pSYt45to0y`.
- OpenCode model: `gpt-5.4-mini-fast`.
- Command: `opencode run --dir . --print-logs --log-level DEBUG --dangerously-skip-permissions "README.md 보고 구현해줘"`.
- Archive: `/Users/yongtae/Desktop/persona-harness-artifacts/archive/2026-06-24-desktop-persona-runs/registry-alpha1-full-continuation-20260625-214000`.

Confirmed:

- Java/Spring/Gradle app generated.
- Generated output included `build.gradle`, `settings.gradle`, `gradlew.bat`, `src/main/java`, `src/test/java`, and presentation/application/domain/infrastructure/DTO/test structure.
- `gradlew.bat test`: PASS.
- Post-check `gradlew.bat build`: PASS.
- Evidence present.
- `profileSummaryInjected: true`.
- Java representative file evidence observed.
- fake shim / Java `HttpServer` / CommonJS source scan clean.

Block:

- OpenCode did not fill reports or reach the final gate after generation/build repair.
- The run entered a long no-output state and was stopped by the operator.
- Post-check `workflow finish implement`: exit 1.
- Exact block reasons: `implementation-report.md` and `review-report.md` must be filled.
- Reports remained `Status: template`.
- req archive/split was not observed.
- `workflow check`: WARN.

backend-shape follow-up candidates:

- `review backend-shape` was mostly PASS.
- Domain repository port WARN occurred because repository ports were under `application/port/out`, not `domain`.
- Verification report wording said bootRun evidence was observed, but this smoke observed test/build only, not bootRun.

Dispatched follow-up owners:

- CLI Workflow: `application/port/out` repository port recognition and Verification report bootRun wording.
- Skills Prompting: report/final-gate closure guidance after build/test success.

Boundaries:

- Not finish PASS.
- Not full workflow closure PASS.
- Not generated app product quality certification.
- AST/linter/enforcement is still absent.

## Verification

Repository verification from the release prep worktree:

```bash
npm test
npm run typecheck
npm run build
npm run check:docs
npm pack --dry-run
git diff --check
```

Observed result on 2026-06-25:

- `npm test`: passed. Scope diagnostics and docs taxonomy diagnostics passed; 57 files / 361 tests passed.
- `npm run typecheck`: passed.
- `npm run build`: passed.
- `npm run check:docs`: passed.
- `npm pack --dry-run`: passed for `persona-harness@0.3.9-alpha.1`.
  - Filename: `persona-harness-0.3.9-alpha.1.tgz`
  - Package contents: 341 files
  - Shasum: `021843b20737bc4a7fc3903b94cfa16a85d36a7d`
- `git diff --check`: passed.

## Known Gaps

- Full generated-app/OpenCode finish behavior is not certified by this release; the post-publish full continuation smoke generated/tested/built the app but did not fill reports or reach finish PASS.
- Focused smoke verified guidance and command surfaces, not complete generated application behavior.
- Generated app product quality is not certified.
- Evidence means read/injection/workflow traces, not a quality score.
- AST/linter/build-failure enforcement remains a non-goal.

## Recommended Before Publish

- Publish only after explicit user approval.
- Publish as prerelease `alpha`.
- Do not move or rewrite the already pushed `v0.3.9-alpha.0` tag.
- Do not describe focused smoke as full OpenCode implementation success or generated app product-quality certification.
