persona-harness 0.8.35 → 0.8.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -2,16 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
Status: current canonical program record.
|
|
4
4
|
|
|
5
|
-
Last reconciled: 2026-08-
|
|
5
|
+
Last reconciled: 2026-08-30
|
|
6
6
|
P0 implementation release baseline: `9b80a45070be10659150095cf701a6f375bc6600`
|
|
7
7
|
P0 implementation package: [`persona-harness@0.8.33`](https://www.npmjs.com/package/persona-harness/v/0.8.33)
|
|
8
8
|
P0 implementation lineage: [#414](https://github.com/jyt6640/persona-harness/issues/414) delivered through [#437](https://github.com/jyt6640/persona-harness/pull/437)
|
|
9
9
|
Current comparison release: `19c397e4fed5b1cce7d024fbcc51350e9676105f`
|
|
10
10
|
Current comparison package: [`persona-harness@0.8.34`](https://www.npmjs.com/package/persona-harness/v/0.8.34)
|
|
11
11
|
Current comparison lineage: [#411](https://github.com/jyt6640/persona-harness/issues/411) delivered through [#439](https://github.com/jyt6640/persona-harness/pull/439)
|
|
12
|
+
Current Team Profile v2 release: `90a913168edac40eb29290e7ff47885bb94b30fd`
|
|
13
|
+
Current Team Profile v2 package: [`persona-harness@0.8.35`](https://www.npmjs.com/package/persona-harness/v/0.8.35)
|
|
14
|
+
Current Team Profile v2 lineage: [#421](https://github.com/jyt6640/persona-harness/issues/421) delivered through [#440](https://github.com/jyt6640/persona-harness/pull/440)
|
|
12
15
|
Historical pre-integration audit source: `f677a635040ad55d8b7d25abab280c5703a153ea`
|
|
13
16
|
Program issue: [#389](https://github.com/jyt6640/persona-harness/issues/389)
|
|
14
|
-
Remaining bounded work: [#410](https://github.com/jyt6640/persona-harness/issues/410)
|
|
17
|
+
Remaining bounded work: [#410](https://github.com/jyt6640/persona-harness/issues/410) and [#412](https://github.com/jyt6640/persona-harness/issues/412)
|
|
15
18
|
|
|
16
19
|
## Purpose
|
|
17
20
|
|
|
@@ -118,15 +121,15 @@ evidence rather than a description of current protected main.
|
|
|
118
121
|
| --- | --- | --- | --- |
|
|
119
122
|
| M1 | delivered via #413 | Workflow Integrity and Context Personalization are named as distinct tracks in public help and README. | Preserve the separate product boundary. |
|
|
120
123
|
| M2 | delivered via #413 | `ph context` provides explicit, default-off local Context inspection and enablement. | Preserve no-overwrite initialization and non-activating inspection. |
|
|
121
|
-
| M3 | delivered via #
|
|
124
|
+
| M3 | delivered and released via #421/#440 | `persona-context-team-profile.2` is a separate semantic schema and explicit pure-resolver layer. It does not silently upgrade v1 files or enable Context, CLI delivery, or host activation. | Preserve v1/v2 separation and default-off behavior. |
|
|
122
125
|
| M4 | delivered via #413 | Pure Core resolves the seven precedence layers and produces a deterministic `persona-context-envelope.v1`. | Keep Core host-neutral. |
|
|
123
126
|
| M5 | implementation delivered; hosted residual | Core has no OpenCode or Java runtime import; the isolated OpenCode adapter is locally covered. | #410 may observe the real transform only after its own named Delivery Control predicate. |
|
|
124
127
|
| M6 | implementation delivered; hosted residual | Context resolution, rendering, and delivery are separated from legacy workflow/authority behavior. | Preserve the isolated adapter boundary during #410. |
|
|
125
|
-
| M7 |
|
|
128
|
+
| M7 | in progress | Historical version checks remain a maintenance concern. | #412 owns the generic Context compatibility manifest and runner. |
|
|
126
129
|
| M8 | delivered via #413 | `npm test` now selects focused source evidence and installed packages receive a separate smoke. | Keep full protected verification separate. |
|
|
127
130
|
| M9 | implementation delivered; hosted residual | Context CLI and doctor report bounded local state without claiming host delivery. | #410 remains the sole real-host observation route after #414. |
|
|
128
131
|
| M10 | delivered and released via #411/#439 | #411 provides a versioned three-arm protocol, strict ten-fixture manifest, and deterministic evaluator for Context OFF, legacy broad compatibility, and targeted layered envelopes. | Keep model, host, and operational measurements unavailable until a separately authorized observation; every local product verdict remains `INCONCLUSIVE`. |
|
|
129
|
-
| M11 |
|
|
132
|
+
| M11 | in progress | Historical version-specific checks still need a version-neutral Context compatibility boundary. | #412 owns the manifest/runner work. |
|
|
130
133
|
| M12 | verified-existing | CI critical-path optimization is already measured and active. | Preserve it and add only bounded Context checks to the correct lane. |
|
|
131
134
|
|
|
132
135
|
## Invariants
|
|
@@ -157,9 +160,12 @@ evidence rather than a description of current protected main.
|
|
|
157
160
|
`19c397e4fed5b1cce7d024fbcc51350e9676105f`. It provides the fixture-only
|
|
158
161
|
three-arm protocol below, does not initiate a host, model, workflow, or
|
|
159
162
|
authority action, and cannot establish product value.
|
|
160
|
-
4. **
|
|
161
|
-
|
|
162
|
-
|
|
163
|
+
4. **Team Profile v2 release:** #421 is delivered as stable `v0.8.35` through
|
|
164
|
+
#440 on `90a913168edac40eb29290e7ff47885bb94b30fd`. It preserves the
|
|
165
|
+
explicit Context boundary and does not begin host observation.
|
|
166
|
+
5. **Remaining independent work:** #410 owns the sole real OpenCode-host
|
|
167
|
+
observation route and #412 owns the generic installed-package compatibility
|
|
168
|
+
boundary.
|
|
163
169
|
|
|
164
170
|
Only one public command, schema, resolver, adapter, CI, script, or documentation
|
|
165
171
|
boundary is changed per child issue. A child issue closes only when its stated
|
|
@@ -191,7 +197,7 @@ not assert direct closure causality.
|
|
|
191
197
|
| #403 | closed via #413 | The isolated OpenCode adapter captures only safe observed targets, uses the local Context preview/envelope boundary, suppresses duplicate digests until session compaction/deletion, and mutates only the next matching user message. `context.enabled` is its sole feature switch; it does not inherit `runtimeInjection`. Adapter, actual plugin composition, status/doctor wording, type compatibility, and fail-closed target cases have focused RED-to-GREEN coverage. A real `experimental.chat.messages.transform` host observation remains separate. |
|
|
192
198
|
| #411 | delivered through #439 | Stable `v0.8.34` binds the deterministic three-arm comparison source at `19c397e4fed5b1cce7d024fbcc51350e9676105f`. `persona-context-comparison-manifest.1` fixes ten P0 fixtures and compares `off`, `legacy-broad`, and `targeted-layered` through `persona-context-comparison-result.1`. The repository runner requires an explicit candidate commit and package version, rejects a local identity mismatch before evaluation, and produces 30 deterministic records. It emits only rule ids/layers and digests; model/host/operational fields remain `null` and every local product verdict is `INCONCLUSIVE`. |
|
|
193
199
|
| #414 | delivered through #437 | Stable `v0.8.33` binds the P0 implementation package/source release lineage. It is immutable historical release evidence and does not authorize #410, a host session, or any Context product claim by itself. |
|
|
194
|
-
| #421 |
|
|
200
|
+
| #421 | delivered through #440 | Stable `v0.8.35` binds the Team Profile v2 source at `90a913168edac40eb29290e7ff47885bb94b30fd`. The separate JSONC loader and explicit pure-resolver layer reject unknown fields, unsafe shared text, duplicate ids, active topic conflicts, malformed JSONC, and symlinked files without reading personal state or activating a host. | Release and provenance evidence do not begin CLI delivery, adapter delivery, runtime activation, or external effectiveness observation. |
|
|
195
201
|
|
|
196
202
|
The heavy `test:installed-package-contract` and full protected repository suite
|
|
197
203
|
remain unchanged. The generic package smoke is version-neutral and does not
|
|
@@ -240,7 +246,7 @@ was not modified.
|
|
|
240
246
|
| P0 implementation release lineage | #414 delivered stable `v0.8.33` through #437. Its immutable tag, GitHub Release, npm `latest`, canonical tar, and provenance bind to `9b80a45070be10659150095cf701a6f375bc6600`. | Historical P0 implementation release evidence does not prove live host delivery. |
|
|
241
247
|
| Deterministic comparison release lineage | #411 delivered stable `v0.8.34` through #439. Its immutable tag, GitHub Release, npm `latest`, canonical tar, and provenance bind to `19c397e4fed5b1cce7d024fbcc51350e9676105f`. | It records only deterministic technical results; host/model/operational values remain unavailable and product verdicts remain `INCONCLUSIVE`. |
|
|
242
248
|
| Hosted Context delivery | The current published comparison package contains the merged #403 adapter boundary, but no package/release record substitutes for the #410 start predicate. | #410 still needs its own named Delivery Control start predicate and one bounded real OpenCode observation. |
|
|
243
|
-
| Other follow-ups | #421
|
|
249
|
+
| Other follow-ups | #421 is delivered as stable `v0.8.35` through #440; #412 owns the generic Context compatibility runner. | #412 may not manufacture host or user-value evidence. |
|
|
244
250
|
|
|
245
251
|
Product-value verdict remains **INCONCLUSIVE**. Local composition, package,
|
|
246
252
|
release, and CI evidence do not establish host-session delivery or user benefit.
|
|
@@ -278,6 +284,6 @@ expand the released Context delivery scope or change its default-off boundary.
|
|
|
278
284
|
Do not reopen the completed #390–#403 integration or #414 release paths.
|
|
279
285
|
Delivery Control must record #410's own named hosted start predicate before one
|
|
280
286
|
real OpenCode `experimental.chat.messages.transform` observation can begin.
|
|
281
|
-
#
|
|
282
|
-
|
|
283
|
-
|
|
287
|
+
#412 remains an independent follow-up boundary. Do not infer host delivery or
|
|
288
|
+
product value from local composition tests, catalog registration, release
|
|
289
|
+
provenance, or historical evidence.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# v0.8.36 Release Notes
|
|
2
|
+
|
|
3
|
+
## Generic Context Compatibility Evidence
|
|
4
|
+
|
|
5
|
+
This release adds a version-neutral Context compatibility manifest and runner
|
|
6
|
+
for the installed package boundary. The package smoke derives the manifest from
|
|
7
|
+
the exact materialized tarball and verifies its package name, version, SHA-256,
|
|
8
|
+
content identity, required public paths, and source-fallback policy before it
|
|
9
|
+
executes any Context command.
|
|
10
|
+
|
|
11
|
+
The installed CLI scenarios cover default status, safe preview and explain,
|
|
12
|
+
preview-only initialization, explicit enable with no-overwrite behavior, and
|
|
13
|
+
invalid configuration. The runner returns fixed result codes and removes its
|
|
14
|
+
temporary scenario state after every run.
|
|
15
|
+
|
|
16
|
+
## Safety And Scope Boundaries
|
|
17
|
+
|
|
18
|
+
- Malformed manifests, missing subjects, archive digest or content-identity
|
|
19
|
+
mismatches, unavailable package paths, and source-linked installed files stop
|
|
20
|
+
before a Context command can run.
|
|
21
|
+
- The package check uses a fresh isolated installation and rejects any source
|
|
22
|
+
fallback, including an executable path that resolves into the source tree.
|
|
23
|
+
- Context remains explicit opt-in and default-off. This release adds no new
|
|
24
|
+
public Context command, OpenCode host delivery, runtime injection default,
|
|
25
|
+
workflow, evidence, authority, network, process, or personal-store behavior.
|
|
26
|
+
- The package materialization test uses the repository's shared pack lock, so
|
|
27
|
+
concurrent test workers cannot create a partial tarball during verification.
|
|
28
|
+
|
|
29
|
+
## Verification
|
|
30
|
+
|
|
31
|
+
The release path verifies manifest parsing and fail-closed diagnostics, a fresh
|
|
32
|
+
tarball installation, all declared installed CLI scenarios, source-fallback
|
|
33
|
+
rejection, package smoke, type safety, full repository Vitest, documentation,
|
|
34
|
+
scope, release workflow, protected CI, canonical tar identity, and registry
|
|
35
|
+
provenance.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "persona-harness",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.36",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@10.8.2",
|
|
@@ -343,7 +343,7 @@
|
|
|
343
343
|
"benchmark:context": "npm run build && node scripts/eval/run-context-comparison.mjs --manifest docs/current/context-comparison-manifest.json",
|
|
344
344
|
"test": "node scripts/run-default-test.mjs",
|
|
345
345
|
"test:fast": "npm run test:unit && npm run test:integration",
|
|
346
|
-
"test:unit": "vitest run --testTimeout=15000 tests/npm-test-contract.test.ts tests/context-config.test.ts tests/context-comparison.test.ts tests/context-comparison-runner.test.ts tests/context-core-import-boundary.test.ts tests/context-envelope-builder.test.ts tests/effective-context-v2.test.ts tests/effective-profile-resolution.test.ts tests/phase0-harness-config.test.ts tests/opencode-skill-adapter.test.ts",
|
|
346
|
+
"test:unit": "vitest run --testTimeout=15000 tests/npm-test-contract.test.ts tests/context-compatibility-manifest.test.ts tests/context-config.test.ts tests/context-comparison.test.ts tests/context-comparison-runner.test.ts tests/context-core-import-boundary.test.ts tests/context-envelope-builder.test.ts tests/effective-context-v2.test.ts tests/effective-profile-resolution.test.ts tests/phase0-harness-config.test.ts tests/opencode-skill-adapter.test.ts",
|
|
347
347
|
"test:integration": "vitest run --testTimeout=15000 tests/context-command-routing.test.ts tests/context-doctor.test.ts tests/context-init.test.ts tests/context-preview.test.ts tests/context-explain.test.ts tests/context-status.test.ts tests/opencode-context-delivery.test.ts tests/personalization-profile-store.test.ts tests/team-profile-store.test.ts tests/team-profile-v2-store.test.ts tests/phase0-runtime-context-delivery.test.ts tests/personalization-profile-package-contract.test.ts",
|
|
348
348
|
"test:smoke": "npm run build && node dist/cli/index.js --help",
|
|
349
349
|
"test:full": "npm run test:repository",
|