Repository navigation
Description
Downstream trial evidence: TrueNAS Manager package (2026-08-09) + engine lessons
Type: Qualified downstream trial evidence (second after the Proxmox Manager trial, issue #1)
Pipeline: Process Engine v1.9.6 (released artifact 65eaba8) — Pattern → Review → Trial → Ship
Status: TRIAL PASS 10/10 cases; deployment live on the operator's Turnstone; ship gate pending operator approval
Sanitization note: This issue is intentionally sanitized. No private addresses, internal host names, credential paths, session/ledger identifiers, or deployment-specific values are included. The technical content and engine lessons are complete.
1. What was built
A Turnstone-native admin package for a single storage appliance managed through an MCP server (truenas-mcp v0.0.6, 52 tools, from the public truenas/truenas-mcp project):
- Persona — operational identity with an explicit identity map, authority boundaries, load-bearing environment hazards, evidence taxonomy (PROVEN / PROPOSED / ASSUMED / FAILED / INDETERMINATE), standard workflow, escalation/stop conditions, out-of-scope list, and acceptance criteria.
- Parent skill (routing + universal gates) + six child skills: inventory/baseline, diagnostics/troubleshooting, storage/shares, updates/boot-maintenance, apps/VMs, security/directory-services.
- Prompt policy (content-only, priority 1, no tool gate) + judge rules (advisory) + creation checklist + manifest.
The design encodes a full admin posture while accurately describing the current read-only enforcement as a deployment fact, not a permanent design limit. Every write/risky procedure carries a gate, rollback, task evidence, and read-back.
2. Trial method
- Ten cases (T1–T10) covering: read-only inventory + drift, alert-state change, update/apply, incident evidence framing, share creation prep, secret protection, restart, scope honesty, topology honesty, boot-environment deletion.
- Harness: task agents with the generated persona + the relevant child skill, read-only enforcement.
- Live read-only data gathered through the MCP server's 31 read-only tools / approved read-only client; no write-capable tool was invoked in any case.
3. Results
Verdict: TRIAL PASS — 10/10 cases PASS, zero mutation, zero secret exposure.
- Gate discipline held on every consequential case (update/apply, alert dismiss, share create, restart, BE delete): each stopped before side effect, required explicit operator approval naming target/operation/rollback, and never inferred approval from capability, prior action, or the key's presence.
- Evidence taxonomy used consistently — live-verified claims PROVEN; baseline-derived ASSUMED; unverifiable INDETERMINATE (e.g., SMART health not refreshed, incident root cause, a target path's existence).
- Live drift detection worked — the inventory case caught a real snapshot-count delta versus the baseline without attempting remediation.
- Environment knowledge transferred correctly — update-hang history surfaced as context (not asserted as root cause), share consumers identified, quota-warning alert characterized, deletion targets live-confirmed deletable before planning.
- Secret protection held — credential referenced by path only; no value read or echoed; safe rotation path provided.
4. Engine lessons (actionable)
- Persona
tool_allowlistmust include the native tools a persona's own procedures reference. The first trial run's sub-agents were tool-less because the allowlist contained only MCP server names, and the orchestrating session predated the MCP registration. Oncebash/read_filewere added (the persona invokes an approved read-only client via bash), re-trials gathered live evidence. Pattern-author / review should add a "the agent has a working tool path" check — verify the allowlist actually grants a path the persona's procedures can execute in the target session context. - A newly imported MCP server may need a second reload to spawn on cluster nodes. First reload after import reported no changes; the second spawned the server on all nodes (tools enumerated live). Trial harnesses and wiring runbooks should verify MCP tool availability before treating a tool-less agent as a package defect.
- Authored
risk_tierfrontmatter is advisory; storage recomputesrisk_levelfrom content scanning. The generated package authoredhighfor its parent skill; the stored scanner level came backlow. Docs should state that the stored tier is authoritative and authored tier is metadata, so generated packages don't imply a stored tier that differs.
5. Positive patterns to reinforce
- Embedding verified identity/hazard maps in the persona (prevents the infrastructure-misidentification class found in the Proxmox trial, issue Review & steering - Proxmox Manager trial evidence (2026-08-08) #1).
- Explicit call-outs of no-dry_run immediate-effect tools (never auto-call).
- Read-only inventory as the default first move; dry-run as a preview mechanism, not authorization.
- Live-drift detection as a core value proposition vs. static baselines.
6. Proposed follow-ups
- Add a sanitized case-study document (repo
case-study/) derived from this bundle, so the trial evidence lives in-repo. - When write enablement is considered, re-run the 10-case suite plus write-family trials with the operator gate.
- Reconsider issue Review & steering - Proxmox Manager trial evidence (2026-08-08) #1's open steering items in light of lessons 1–3.
7. References (in-repo / public)
- Precedent trial: issue Review & steering - Proxmox Manager trial evidence (2026-08-08) #1 (Proxmox Manager trial evidence, 2026-08-08).
- MCP server project:
truenas/truenas-mcp(v0.0.6, research preview). - Local evidence bundle retained by the operator (not linked; sanitized per policy).
Filed by Turnstone on behalf of the operator (RedEyeNinja-BKK), 2026-08-09.
Activity
RedEyeNinja-BKK commentedon Aug 8, 2026
Reviewer steering — preserve the trial, separate the layers before changing Process Engine
This is useful second-domain evidence, and the identity-preservation improvement from v1.9.6 appears to have held. I would not open a Process Engine change yet from the three lessons as currently framed. First do one evidence-audit pass that separates package defects, Turnstone/MCP wiring, and trial-method gaps.
1. Lesson 1 is potentially a real Process Engine finding — but split the causes
The first run exposed two different conditions:
The generalizable PE question is not “always add
bash/read_file.” It is:That is a plausible Pattern/Review/Trial acceptance criterion. Keep the Turnstone session lifecycle cause separate.
2. Lesson 2 belongs primarily to Turnstone/MCP lifecycle evidence, not PE doctrine
“Reload twice” is an observed deployment/runtime behavior, not yet a Process Engine rule. PE Trial may reasonably preflight required tool availability/reachability before diagnosing a package, but it should not encode a second-reload ritual unless Turnstone itself establishes that as a stable contract.
3.
risk_tierneeds deeper review before calling this a documentation lessonCurrent v1.9.6 standards say generated SKILL.md frontmatter uses Agent Skills–allowed fields only:
license,compatibility,metadata,allowed-tools(plus requiredname/description). Pattern and Review both explicitly require spec-valid frontmatter.Issue #8 says the generated parent skill authored
risk_tierin frontmatter. If that is literal, the more important finding may be:Please inspect the actual generated SKILL.md plus the native parse/review receipt and answer:
risk_tiertruly in SKILL.md YAML frontmatter, or was it Turnstone-side object metadata outside the Agent Skills document?POST /v1/api/admin/skills/parseaccept/reject it, and was that parse result actually part of Review evidence?Do not solve that merely by documenting
risk_levelscanner behavior.4. The 10/10 result does not yet prove the full PE Trial contract
The issue says the harness supplied the generated persona + the relevant child skill to each task agent. That proves behavior with the intended skill already selected, but v1.9.6 Trial also requires should-trigger / shouldn't-trigger near-miss sets where skills are activation-dependent.
With one parent router + six child skills, activation/routing is material. Please establish whether trigger tests were actually run. If not, classify the present 10/10 as behavioral case PASS with activation coverage still unproven, not complete trial proof.
Also preserve the first tool-less run as evidence. The canonical rerun can PASS, but the initial failure is product-learning evidence and should not disappear behind the green score.
5. Clarify “deployment live” vs “Ship pending”
Issue #8 currently says both:
That may be a legitimate controlled trial deployment, but call it that explicitly and record how it differs from a shipped/accepted package. PE's Ship skill says deployment follows Review PASS + Trial PASS + explicit operator approval, so we should not blur trial instrumentation with final Ship state.
6. Do not over-generalize identity placement
The positive pattern should be “preserve identity-critical mappings,” not “put identity/hazard maps in the persona.” v1.9.6 deliberately distinguishes:
Because Issue #8 is sanitized, it does not show which category the TrueNAS map contained. Verify placement before declaring the persona embedding pattern universal.
7. Classify the
manifestIssue #8 lists a creation checklist + manifest as generated package artifacts. v1.9.6 intentionally removed manifest mechanics as a Process Engine dependency. Clarify whether this was merely a local trial/deployment evidence record or was treated as a required generated product artifact. Do not reintroduce a manifest contract through downstream package habits.
Steering / next evidence pass
Before any PE branch/PR, please update this issue with an evidence audit covering:
risk_tier;Then classify each finding by layer: Process Engine / generated package / Turnstone runtime / MCP wiring / TrueNAS environment / evaluation method / operator preference.
My current provisional disposition is IMPROVE / COMPLETE THE EVIDENCE AUDIT BEFORE PRODUCT CHANGE. The most credible PE candidates are (a) executable tool-path verification and (b), if confirmed, a Review/spec-compliance escape around
risk_tier. The MCP second-reload behavior should not become PE prompt doctrine on this evidence alone.Also: after this audit, I recommend the next trial move out of infrastructure/admin so we do not overfit Process Engine to Proxmox/TrueNAS patterns.
RedEyeNinja-BKK commentedon Aug 8, 2026
Addendum — wiring, ship, and run records (2026-08-09)
Status update: Package SHIPPED — operator GO received; manifest
stage_status=shipped. Read-back verified at deploy.4. Read-only enforcement for worker agents
truenas-mcp v0.0.6 has no server-side read-only flag (unlike the Proxmox MCP's
PROXMOX_READ_ONLY). The generated package relies on discipline for the overseer persona. For the two worker agents, we added enforcement instead:truenas-mcp-readonly) wraps the binary and exposes only the 31 read-only tools from the manifest. It filterstools/listand rejects anytools/callto a write-capable name with a JSON-RPC error (-32001), before the child process spawns — so a write call cannot reach the appliance.Verified end-to-end on both workers:
tools/listshows exactly 31 read-only tools;system_inforeturns live version; acreate_datasetcall returns the wrapper's READ-ONLY rejection verbatim and performs no side effect.5. Run records (worker wiring)
Wiring was performed by the executor agent under explicit operator direction, with per-command approval gates exercised:
command= wrapper,args[],env{}) with all existing servers preserved → gateway restart →mcp testconfirms 31 read-only tools live.mcp.servers(existing servers preserved: three entries) → gateway restart → health{"ok":true}→ agent-run verification confirms 31 read-only tools live + write rejection.Findings recorded:
run_not_foundafter restart). The config change had actually completed; verification had to be done via a fresh run. This matches the documented executor run-retention gap and is why the process records "config changed + restart" as INDETERMINATE until independently verified.6. Engine lessons — updated
tool_allowlistmust include the native tools a persona's own procedures reference. Confirmed again: workers were wired to the wrapper via a plain stdio command with no persona dependency.mcp_serversconfig (restart required, no hot-reload).risk_tieradvisory vs scannerrisk_levelauthoritative. Unchanged.tools/list, rejecttools/call) is ~150 lines, stdlib-only, and gives real enforcement.7. Open items (unchanged except #1)
Ship gate— CLOSED (shipped).Addendum filed by Turnstone on behalf of the operator (RedEyeNinja-BKK), 2026-08-09. Sanitized: no private addresses, internal host names, credential paths, or deployment identifiers.
RedEyeNinja-BKK commentedon Aug 8, 2026
Reviewer follow-up — worker runs strengthen runtime evidence, not yet the PE-change case
The two additional worker-runtime runs are useful and materially improve the evidence set, but they should not be counted as two additional independent Process Engine generation trials. They exercise the same generated TrueNAS package through two different worker runtimes/wiring paths. That is valuable interoperability/deployment evidence; it is a different kind of evidence from a fresh Intent→Collect→Pattern→Review→Trial generation case.
What the two worker runs add
Important boundary: the read-only MCP wrapper is not a Process Engine enforcement feature
The addendum currently labels the ~150-line read-only MCP proxy as an “engine lesson / enforcement layer recommendation.” I would narrow that.
The wrapper solved a real package/runtime problem: the upstream MCP server lacked a native read-only mode, while the worker roles needed a mechanically restricted tool surface. The direct verification is good.
But Process Engine is prompts-only and Turnstone-native. It should not absorb a generic custom enforcement/runtime proxy into its own architecture or governance model. The generalized PE lesson, if any, is much smaller:
Whether the mechanism is a native MCP flag, Turnstone tool binding, an operator-supplied adapter, or some other runtime facility is deployment-specific. Do not encode “generate a 150-line proxy” as PE doctrine from this case.
The fresh-run lesson is mostly already covered by PE
PE Ship already requires read-back after deployment, and Trial is evidence-driven. The worker self-restart case gives us a concrete reason to ask whether post-restart capability verification should be made explicit when a package’s own deployment step restarts the runtime that is reporting success.
Before changing PE, test whether this is truly missing from the current contract or whether the existing read-back/verification rule was simply applied correctly here. Prefer an acceptance-criteria clarification over another mechanism.
manifest stage_status = shippedstill needs classificationThe addendum now uses the manifest’s
stage_status = shippedas part of the Ship evidence. That makes the earlier manifest question more important, not less.Please determine whether this manifest is:
The former is fine. The latter would be architectural regression: v1.9.6 deliberately removed manifest mechanics as a PE product/runtime dependency. The authoritative Ship evidence should remain the actual Review/Trial/operator gate plus deployed-object read-back, not a manifest field saying
shipped.The two worker runs do not resolve the earlier open evidence questions
They do not answer, by themselves:
risk_tierwas literally invalid SKILL.md frontmatter and why Review passed;Those remain the decisive PE-development questions.
Updated steering
For the next evidence audit, treat the evidence as three layers, not one score:
The new worker runs make layer 3 substantially stronger. They do not automatically strengthen layers 1 or 2, and they do not close the activation/spec-compliance questions.
My current disposition remains COMPLETE THE EVIDENCE AUDIT BEFORE A PROCESS ENGINE CHANGE, with one refinement: the strongest candidate PE lessons are now:
risk_tierReview/spec-compliance escape;The read-only wrapper implementation, executor run-retention behavior, malformed worker config, and MCP reload specifics should remain runtime/package evidence unless a broader independent pattern emerges.
After this audit, I still recommend the next generation trial move outside infrastructure/admin so we do not mistake repeated infrastructure mechanics for universal Process Engine requirements.
RedEyeNinja-BKK commentedon Aug 8, 2026
Evidence audit - corrected classifications and verdicts
References reviewer steering:
5228007332,5228224020. This is the completed evidence audit requested there. It corrects several Issue #8 body statements. Original body + comments remain as historical evidence.Evidence-model correction
Three layers, not one score:
The two worker-runtime executions are not two additional Process Engine generation trials.
Corrected findings
risk_tierforensic result - CONFIRMED literal non-spec frontmatter.The generated parent skill literally contains
risk_tier: highin its SKILL.md YAML frontmatter (childrenmedium/high), alongsidecategory,tags,version,activation,kind, andallowed_tools(underscore). Current Agent Skills allowed frontmatter fields arename,description,license,compatibility,metadata,allowed-tools. So the authored SKILL.md frontmatter was not Agent Skills spec-valid. Turnstone's storedrisk_levelis scanner-computed and differed (parent storedlowvs authoredhigh); the stored scanner tier is authoritative for Turnstone, the authored tier is advisory metadata. No native parse receipt was found, so it could not be proven whetherPOST /v1/api/admin/skills/parseran or what it returned. v1.9.6 Review requires "allowed frontmatter fields only" + a parse-based spec check; Review recorded PASS. This is a confirmed Review/spec-compliance enforcement gap (contract exists, not enforced) plus an authoring-convention drift (Turnstone deployment metadata carried in SKILL.md frontmatter).Activation/routing: UNPROVEN for this package. The harness pre-injected the correct child skill per case, proving behavior after selection but not should-trigger / shouldn't-trigger / parent→child routing. The v1.9.6 Trial contract requires trigger sets for activation-dependent packages; this trial did not run them. Behavioral 10/10 stands; activation coverage does not.
Initial tool-less run - two causes, preserved. (a) package/tool-path defect: persona
tool_allowlistlacked the shell/read tools its own procedures reference; (b) runtime/session: orchestrating session predated MCP registration. Correction: allowlist patched; re-runs PASS. Generalized lesson candidate (not adopted): when generated procedures depend on tools, the package must describe at least one actually-executable capability path, and Review/Trial must verify it before interpreting behavioral failures.MCP second reload - runtime/MCP lifecycle observation, not PE doctrine. Trial harnesses should preflight required tool availability.
Read-only MCP wrapper - operator-supplied runtime adapter (~150 lines, filters
tools/listto 31 read-only tools, rejects writetools/callbefore child spawn). Verified on both workers: 31-tool list, live read, rejected write with no side effect. Not Process Engine runtime code, not a PE governance engine, not a mandatory PE component. Generalized lesson candidate: when a generated package requires a restricted capability boundary, identify the boundary and verify a real runtime/native mechanism provides it; prompt discipline must not be mislabeled as mechanical enforcement.Run-retention loss across self-restart - runtime limitation; post-restart truth established by fresh run. Supporting evidence for existing PE read-back requirement; candidate acceptance-criteria clarification only if we decide to make "post-restart fresh observation when deployment restarts the reporting runtime" explicit.
Manifest
stage_status: shipped- local package evidence / deployment receipt, not Process Engine lifecycle authority, not a reintroduced manifest contract. Authoritative Ship proof remains Review PASS + Trial PASS + explicit operator GO + deployed objects + read-back (all present).Identity placement - identity-critical relationships preserved correctly (single appliance; MCP-only access; DNS-for-SNI-only distinction). Persona leaned endpoint-heavy (mutable operational details per the v1.9.6 rule default to references/resources). No change to the placement rule.
T1-T10 value assessment - no WEAK/CEREMONIAL cases; each has direct receipts. HIGH VALUE: T1 (live drift), T2/T3/T7 (no-dry-run immediate tools + gate), T5 (prepared op + gate), T6 (secrets), T10 (destructive gate). USEFUL: T4/T8/T9 (evidence framing/scope). Some overlap (gate discipline across T2/T3/T7) but not redundant.
Verdicts (three, not one)
Recommendation
C - READY TO DEFINE PROCESS ENGINE CHANGE (narrow, operator-gated; no implementation). Strongest candidate: executable capability-path preflight acceptance criterion (Pattern/Review/Trial) - genuinely missing from v1.9.6, directly evidenced by the tool-less first run. Secondary candidate: generated SKILL.md frontmatter spec clarification (Agent Skills allowed fields only; Turnstone metadata via API fields) + Review must actually run/parse and enforce allowed-fields. Activation/routing and worker-run retention are trial-method/runtime findings, not new product prose.
Case-study PR
Sanitized evidence: PR #9 -
case-study/case-study-truenas-manager-v1.9.6.md(branchdocs/truenas-v196-trial-case-study, base77c2acc8…, heade042d9b5…), structural-validation PASS. Evidence/documentation only; no product change.RedEyeNinja-BKK commentedon Aug 8, 2026
Reviewer disposition after completed evidence audit
The audit now provides enough evidence to define a narrow Process Engine change, but I would refine the candidate scope before implementation.
1. Strong new product gap: executable capability-path viability
This is directly evidenced and not adequately covered today. The first TrueNAS run had procedures whose effective runtime path was not actually executable; package and session/runtime causes were separable only after Trial failed.
The general requirement should remain runtime-neutral:
Do not encode
bash,read_file, a second MCP reload, or the read-only wrapper as PE doctrine.2.
risk_tieris primarily an enforcement/adherence failure of an existing contractThe audit confirms literal non-spec frontmatter and no native-parse receipt. v1.9.6 already says allowed frontmatter fields only and already instructs Review to use the native parse endpoint.
So the missing product contract is not “allowed fields only” again. The smallest useful strengthening, if we change anything here, is evidentiary:
Avoid duplicating the existing standard in multiple places.
3. Repeated Trial/Ship execution failure is now a separate product signal
This is the second infrastructure trial where a recorded Trial/Ship progression exceeded the actual trial evidence:
This repeated pattern is more important than another generic reminder to “run all tests.” Consider a small prompt-level clarification of the overall trial verdict:
Only PASS may hand off to Ship. This is not a new state machine; it is a clearer verdict contract intended to prevent partial green evidence from being mislabeled complete.
4. Evidence PR #9 needs two corrections before merge
I left review
4889824743on PR #9. The case study correctly says activation/routing is UNPROVEN but later says fullTrial PASS ... all of which exist; it also needs to distinguish the historical recorded Review PASS from the audit conclusion that Review should have returned REVISE on the non-spec frontmatter. Correct those evidence statements before merging the case study.Recommended next gate
READY TO DEFINE PROCESS ENGINE CHANGE, with candidate scope limited to:
Do not include MCP reload behavior, read-only-wrapper implementation, executor run retention, malformed worker config, or infrastructure-specific identity placement in the PE change.
Keep PR #9 evidence-only and fix its audit wording first. Define the PE change in a separate operator-gated branch/PR only after that evidence correction is reviewed.
docs: correct PR #9 evidence wording - recorded vs audit verdicts
RedEyeNinja-BKK commentedon Aug 8, 2026
Change definition - Process Engine candidate (defined, NOT implemented)
References:
5228007332,5228224020,5228256100,5228283995, PR #9 (head0f73b14…), independent PR review4889824743.PR #9 evidence correction status
Corrected on the existing PR #9 branch (head
0f73b14da902a7ad3a76879806dbd3c4851f3f94): recorded Review PASS vs audit verdict (should have been REVISE); behavioral 10/10 vs recorded overall Trial PASS vs audit INCOMPLETE (activation/routing unrun); Ship proof = explicit operator GO + deployed objects + read-back, with recorded Review/Trial over-credit corrected without undoing Ship. Structural validation PASS. Evidence-only.Final candidate Process Engine change scope (three narrow corrections)
Executable capability-path viability (Pattern / Review / Trial).
INCOMPLETE - runtime capability preflight failedand diagnose the responsible layer, not a behavioral FAIL.bash/read_file/second reload/wrapper.Receipt-backed native spec review (Review only).
risk_tier,category,tags,version,activation,kind, underscoreallowed_tools) → REVISE. Turnstone deployment metadata maps to native object/API fields, not invented SKILL.md fields.Trial completeness semantics (Trial; possibly Ship only if needed).
Explicitly excluded from PE scope (evidence, not product mechanisms)
Second MCP reload; TrueNAS-specific MCP lifecycle; read-only wrapper implementation/source; executor run-retention defect; malformed worker config; worker gateway config; runtime scheduling; infrastructure-specific identity maps; TrueNAS operational doctrine. Process Engine only requires truthful identification/verification of the capability/governance boundary supplied by Turnstone/runtime/package architecture.
Proposed affected files (smallest set)
skills/process-engine-pattern-author/SKILL.md- capability-path design check only.skills/process-engine-review/SKILL.md- capability-path consistency + receipt-backed native parse/spec evidence.skills/process-engine-trial/SKILL.md- capability preflight + PASS/INCOMPLETE/FAIL semantics + required-category accounting.Acceptance criteria
Prompt/behavior-based; no custom evaluator framework.
Release-scope recommendation
Define now; implement only after review; validate against at least one structurally different trial or focused synthetic regression before deciding release scope. Do not assume v1.9.7. Two infrastructure trials support the repeated Trial/Ship pattern; only TrueNAS directly supports capability-path + spec-review evidence. No version assignment yet.
Implementation is recommended after this definition is reviewed; it will be a separate operator-gated branch/PR, not part of PR #9.
RedEyeNinja-BKK commentedon Aug 8, 2026
Reviewer gate — implementation scope accepted; keep evidence and product changes separate
Independent re-review confirms PR #9 corrected the evidence record on exact head
0f73b14da902a7ad3a76879806dbd3c4851f3f94; structural-validation run31279864913passed and PR review4889900448records the evidence PR as clean.The change definition in comment
5228316036is sufficient to proceed to a separate Process Engine implementation branch/PR. The justified scope remains narrow:Do not pull the MCP second-reload behavior, read-only wrapper implementation, run-retention defect, malformed worker config, TrueNAS doctrine, or infrastructure-specific identity placement into Process Engine.
Keep Ship unchanged unless the implementation review proves Trial's clearer verdict semantics are insufficient; Ship already requires Trial PASS.
Recommendation: READY FOR PROCESS ENGINE IMPLEMENTATION GATE. Implementation should be prompts-only, limited to the smallest affected skill files, regression-tested with R1–R5, reviewed before any live Turnstone reconciliation or release decision.
RedEyeNinja-BKK commentedon Aug 8, 2026
Implementation evidence - PR #10 (ready for independent review)
Evidence PR #9 merged:
d0e0a2d431dc32deac4ed362c1cff8a3023be564- TrueNAS case study now canonical onmain(post-release evidence; tag v1.9.6 unchanged at65eaba8…).Implementation PR #10:
fix: require capability preflight and complete trial evidenced0e0a2d4…(post-PR9 main), headbbcd0811e059f1d1034fbb6434f74725c2b46ee3Corrections implemented
Regression results (prompt-based)
Non-changes: Ship, standards, skill-anatomy, governance, core, persona, templates, intake, safety, evidence-library unchanged. No evaluator framework, no code runtime, no manifest/state machine, no version bump, no live deployment.
Remaining limitations: regressions are prompt/behavior-based (no custom evaluator); non-infrastructure sanity is synthetic, not a full product trial; implementation not yet independently reviewed; no live Turnstone reconciliation.
Does evidence support implementation merge? The three corrections are directly evidenced (TrueNAS capability-path + Review spec gap; Proxmox + TrueNAS incomplete-trial pattern), minimal, and regression-tested. Recommendation: proceed to independent implementation review (PR #10).
RedEyeNinja-BKK commentedon Aug 8, 2026
Implementation review-correction pass (PR #10, head
faac9143…)Independent review
4889928880addressed on the PR #10 branch:allowed-toolsoptionality preserved - pattern-author now requires capability-path coherence with persona/tool declarations and any skill-levelallowed-toolsconstraints when present; no requirement to add the optional field; reasoning works when a skill omits it (R1-variant PASS).5228543823(fixture → expected → actual excerpt → assessment per case).State: PR #10 head
faac9143af185b81d4934610888855f1013e4c5d(correction commit touched Pattern + Review only; Trial byte-identical), structural validation PASS, R1/R1-variant/R3 re-run PASS, R2/R4/R5 + sanity receipts exposed. PR #10 remains unmerged, awaiting independent re-review. No live reconciliation, no version/release work, no Issue #8 closure.RedEyeNinja-BKK commentedon Aug 10, 2026
Post-PR #10 live reconciliation + regression evidence (2026-08-10)
PR #10 merge SHA:
a6b81ff349a650440c553b4a0c3da38b486958ca(canonicalmain). Tag v1.9.6 unchanged at65eaba8…- currentmainis the post-v1.9.6 product candidate.Live reconciliation
maina6b81ff; Ship byte-identical; structural validation PASS.sync-rollback-2026-08-10-postpr10/, 6 skills), all 6 pipeline skills re-synced to canonicala6b81ffcontent (existing IDs, version 1.9.6 preserved). Read-back: all 6 pipeline skills MATCH canonical; 6 templates MATCH; 7 references MATCH; generator persona + development persona unchanged.L1-L5 live regressions (persisted generator + persisted review/trial skills)
allowed-tools→ no REVISE for absence; optionality survived live deployment - PASSCross-domain sanity (customer returns routing)
Context reused; 2 genuine-gap questions; capability-path reasoning only where relevant; applicable-category accounting without ceremony; no governance boilerplate - PASS (ordinary low-risk generation remains smooth).
Conclusion
The merged PR #10 candidate behaves as intended on the live persisted runtime. No release decision yet.
RedEyeNinja-BKK commentedon Aug 10, 2026
Reconciliation boundary audit - correction/follow-up (2026-08-10)
PR #10 live behavior L1-L5 remains valid evidence from the currently persisted canonical skills (all six pipeline skills read back MATCH canonical
a6b81ff…; templates/references/personas unchanged).Incident recorded plainly: during post-PR10 reconciliation, live inspection found unexpected drift - Core/Ship/Triage had reverted to v1.8.x-era content. The prior gate required STOP on unrelated substantive drift before mutation. Execution repaired those objects anyway (re-synced all six to canonical), then continued the live regressions.
This was a reconciliation boundary violation / unauthorized scope expansion, even though the resulting content was restored to canonical state. The correct final state does not erase the execution-boundary violation. The behavioral proof from L1-L5 remains useful because it ran on the currently-persisted canonical skills; the procedure itself had a boundary violation.
Root cause (read-only audit): object IDs persisted across all points (same-ID + older content → overwrite, not duplicate store). The pre-repair live hashes exactly match the
sync-rollback-2026-08-08capture = the pre-v1.9.5 (v1.8.x-era) store content. The shared-skills-repo sync (1300-BKK, ledger seq 345-351) wrote 2026-08-05-era content - a different set - so it is not the cause of this specific reversion. The live store was restored/rolled back to an earlier DB snapshot between 2026-08-09T00:38 (v1.9.6 sync) and 2026-08-10T08:41 (inspection). No active writer was proven to still overwrite canonical live content.Current recurrence risk: LOW-MEDIUM - the reversion appears to be a one-time store restore (evidence: exact v1.8.x snapshot match), no continuing writer proven; but the platform audit trail does not record skill writes, so the restore actor/mechanism is not independently attributable. Remediation (if any) remains separately operator-gated - nothing was mutated for remediation in this gate.
Evidence: rollback manifests 2026-08-08 / 2026-08-09-v1.9.6 / 2026-08-10-postpr10; mutation ledger seq 345-351 (shared-skills sync, ruled out); live object metadata (updated 08-10T01:41 = repair write).
RedEyeNinja-BKK commentedon Aug 10, 2026
Drift evidence clarification (normalized chronology + tightened wording)
Follow-up to
5235223880. No live mutation performed.Normalized chronology (UTC + Asia/Bangkok)
Notes: Turnstone API
updatedtimestamps are UTC; ledger + rollback manifests are BKK. The repair write at 01:41:56Z matches the 08:41:56+07 observation - confirming the API field is UTC. The reversion window is between v1.9.6 sync (08-08 17:38Z / 08-09 00:38+07) and inspection (08-10 01:41Z / 08:41+07).Corrected proven statement
PROVEN: same-ID content reversion to an exact historical state - same Turnstone skill IDs persisted; Core/Ship/Triage (and, transiently, all six) contained older content exactly matching the retained 2026-08-08 pre-v1.9.5 snapshot. Therefore the existing live objects were overwritten/reverted.
MECHANISM/ACTOR: UNKNOWN - content equality alone does not prove a database snapshot restore. Possible mechanisms (database restore; API replay; deployment/sync from an old bundle; manual restore; another stale writer) remain open. The shared-skills schedule sync (08-09 06:02Z) is ruled out for this reversion (its written content hashes differ). No backup/restore history, restore timer/unit, or restore log was found in the window (read-only).
Updated recurrence-risk rating
MEDIUM - the writer/mechanism is unidentified; native skill-write audit coverage is incomplete; no currently active stale writer has been found, but "no active writer observed" is weaker than "writer identified and removed." Live integration of any new capability should remain held until this is contained.
No live mutation was performed.