@ornexus/neocortex 4.60.67 → 4.60.69

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.
@@ -1,60 +1,60 @@
1
- import{classifyNonUiArchitectureTransition as Aa,architectureMemoryPredecessorCount as ir}from"./architecture-non-ui-continuation.js";import{parseArchitectureNonUiScopeReceipt as or}from"./shared-architecture-non-ui.js";import{createHash as Ye,randomUUID as nn}from"node:crypto";import{loadPactAnswerReceipt as cr,loadPactPrivateAnswers as ba}from"./architecture-answers.js";import{acceptedArchitectureTerminalMemoryReceipt as Gt,deriveArchitectureTerminalMemoryReceipt as xn}from"./architecture-memory-terminal.js";import{deriveCommittedArchitectureEpicGraphRevision as Wt,explicitArchitectureEpicTarget as xa}from"./architecture-root-binding.js";import{derivePactWriteSet as Ta}from"../private-execution/pact-write-set.js";import{execFileSync as Ve}from"node:child_process";import{existsSync as Nt,readFileSync as Be,renameSync as sr,unlinkSync as Tn,writeFileSync as rn,mkdirSync as Ht,statSync as Pa,openSync as Ft,closeSync as qt,fsyncSync as an,realpathSync as ka,lstatSync as Lt}from"node:fs";import{isDeepStrictEqual as E}from"node:util";import{join as z,isAbsolute as Oa,resolve as dr}from"node:path";import{homedir as Yt}from"node:os";import{isPrivateExecutionPublicEnvelope as Na,isPrivatePlanningRootPublicEnvelope as La,PRIVATE_MUTATION_QA_GATE_STEP_TOKEN as Da}from"../private-execution/delivery.js";import{acceptedPlanningDiagnosisPredecessor as pr}from"../private-execution/planning-diagnosis-checkpoint.js";import{acceptedPlanningResearchPredecessor as ur}from"../private-execution/planning-research-checkpoint.js";import{verifyCommittedPlanningMemory as lr}from"../private-execution/planning-memory-checkpoint.js";import{verifyCommittedPlanningGeneration as Ma}from"../private-execution/planning-generation-checkpoint.js";import{PLANNING_RAW_INTENT_MAX_CHARS as ja}from"../../../shared/dist/planning/diagnosis-state.js";import{LicenseClient as Va}from"../license/license-client.js";import{EncryptedCache as Pn}from"../cache/encrypted-cache.js";import{NoOpCache as hr}from"../types/index.js";import{resolveClientPreFlightTrigger as on,TierAwareClient as Ba}from"../tier/tier-aware-client.js";import{COMMAND_REGISTRY_CHECKSUM as mt,COMMAND_REGISTRY_VERSION as gt,GENERATED_CLIENT_COMMANDS as Ua}from"../generated/command-registry.generated.js";import{loadSecureConfig as kn}from"../config/secure-config.js";import{neocortexProfileDirectory as $a}from"../config/profile-directory.js";import{DEFAULT_SERVER_URL as Ga}from"../constants.js";import{detectFirstRunLocale as Wa,renderFirstRunMessage as Ha}from"../i18n/first-run.js";import{humanizeError as fr,formatHumanizedError as mr,detectErrorLocale as gr}from"../errors/error-messages.js";import{degradeStateSnapshotForPayloadLimit as Fa,projectStateSnapshotForInvoke as yr,projectStateSnapshotResultV2ForInvoke as qa}from"../state/project-state-snapshot.js";import{isInlineYoloMaterialization as Er,maybeRepairStateJsonBeforeInvoke as Ya,StateRepairHardStopError as Ja}from"../state/state-json-repair.js";import{StructuralDagError as Ir}from"../state/structural-dag-projection.js";import{collectStateMigrationAuthority as za,StateMigrationApplyError as Ka}from"../migrations/state-json.js";import{RUNNER_BOOTSTRAP_POLICY_REASON_CODES as Qa,classifyRunnerBootstrapPolicyFromArgs as Xa}from"../continuity/runner-bootstrap-policy.js";import{RUNNER_SCHEDULER_BOOTSTRAP_REASON_CODES as Za,ensureRunnerSchedulerBootstrap as ei,observeRunnerOperationalStatus as ti}from"../runner/scheduler.js";import{CONTINUITY_INVOKE_WATCH_DEFAULT_LIMIT as Sr,CONTINUITY_INVOKE_WATCH_DEFAULT_MAX_IDLE_POLLS as vr,CONTINUITY_INVOKE_WATCH_DEFAULT_MAX_POLLS as Cr,CONTINUITY_INVOKE_WATCH_DEFAULT_POLL_INTERVAL_MS as wr,openContinuityClientStateStore as ni}from"../continuity/continuity-client-state-store.js";import{isLocalJobsConsoleArgs as ri,runLocalJobsConsoleCommand as ai}from"../runner/local-console.js";import{detectNativeHostAttestation as ii,detectPlatform as oi}from"../adapters/platform-detector.js";import{signNxInvokeRequest as ci}from"../../../shared/dist/nx-invoke-signature.js";import{YOLO_INVOKE_ENVELOPE_CAPABILITY as si}from"../../../shared/dist/yolo/spec-envelope.js";import{parseReleaseBlockedResult as di}from"../../../shared/dist/yoloop/release-blocked.js";import{CLIENT_VERSION as xt}from"../version.js";import{createCapabilityCache as _r,executeInvokeQueryTransport as Rr,executeSecondaryNetworkMutation as pi}from"../effects/invoke-effect-gateways.js";import{STRICT_READ_ONLY_POLICY as ui,STRICT_READ_ONLY_CLIENT_PROJECTION as Ar,STRICT_READ_ONLY_SERVER_PROJECTION as li,StrictReadOnlyError as Dt,canonicalizeInvokeEffects as hi,createInvokeEffectContext as fi,verifyStrictReadOnlyReceipt as mi}from"../../../shared/dist/strict-readonly.js";import{admitInvocation as gi,assertInvokeInputEnvelopeV2 as yi,assertProjectIdentityMigrationReceiptV1 as Ei,buildProjectIdentityPublicDiagnostic as Mt,createInvocationAdmissionReceipt as Ii,projectInvokeInputEvidenceV1 as br,verifyStrictDiagnoseReceiptV1 as Si}from"../../../shared/dist/invocation/index.js";import{buildInvokeInputEnvelope as cn,InvokeInputDecodeError as vi}from"../invocation/invoke-input.js";import{COMPATIBILITY_REASON_CODES as jt,createCompatibilityOffer as Ci,createLegacyCompatibilityResult as wi,isCompatibilityResultV1 as _i}from"../../../shared/dist/compatibility/index.js";import{acknowledgeProjectIdentityMigration as Ri,finalizeProjectIdentityMigration as Ai,prepareProjectIdentityMigration as bi,ProjectIdentityMigrationError as On,readProjectIdentityMigrationPhase as xi}from"../migrations/project-identity.js";import{probeProjectIdentityMigrationCapability as Ti}from"../migrations/project-identity-capability.js";import{normalizeYoloopStoryPlanningEvidence as Pi}from"../../../shared/dist/yoloop/planning-graph.js";import{normalizeContinuousWriteRef as sn}from"../../../shared/dist/yoloop/wave-decision-receipt.js";import{applyGitLifecycleRuntimeOverlay as xr,classifyGitLifecycleStoryCheckpointProjectionSync as ki,ensureGitLifecycleRuntimeInitialized as Oi,executeP205TransientAuthorities as Ni,persistGitLifecycleGraphAuthority as Li,P205_COMPLETE_COMMAND as Di,gitLifecycleStoryWriteSet as Tr,readGitLifecycleRuntimeSync as dn,verifyLegacyCheckpointMigrationCandidateSync as Mi}from"../git/git-lifecycle-store.js";import{verifyRootMemoryPhysicalWriteSet as ji}from"../private-execution/root-memory-git-evidence.js";import{isRootProjectMemoryEffect as Vi}from"../private-execution/shared-root-memory-types.js";import{probeYoloInvokeEnvelopeCapability as Bi}from"../yolo/invoke-envelope-capability.js";import{collectYoloSpecEnvelope as Pr,extractTargetedYoloStoryId as Ui,refreshPrecollectedYoloSpecEnvelope as $i}from"../yolo/spec-envelope-collector.js";const pn=$a(),Nn=z(pn,"cache"),kr=z(Nn,"menu-cache.json"),Or=1440*60*1e3,Nr=3e4,Lr=256*1024,Dr=Lr,Mr=.8,yt="[REDACTED]",Gi=1e5,Tt=2e3,Wi=200,Hi=200,Fi=12,qi=/(?:promptBody|workflow|workflowGraph|stepBody|privateUrl|rawLog|secret|credential|licenseKey|apiKey|internalRouting|serverOnly|proprietary|protected)/i,Yi=/(?:PRIVATE|PROTECTED|SERVER_ONLY)[-_\s]*(?:PROMPT|PROMPT_BODY|WORKFLOW|WORKFLOW_GRAPH|STEP_BODY|STEP|ROUTING)\s*[:=][^\n\r]*/gi,Ji=/(?:https?:\/\/(?:localhost|127\.0\.0\.1|0\.0\.0\.0|\[::1\]|private|internal)[^\s"'<>]*|raw[_-]?log|transcript|stack\s*trace|stderr:|stdout:|system prompt|prompt body|workflow body|step body|PROTECTED_|PRIVATE_INTERNALS|CUSTOMER_PII|VENDOR_CORPUS|P180[_-]?SYNTHETIC[_-]?CONTINUITY|P185[_-]?SYNTHETIC[_-]?CONTINUITY|P187[_-]?SYNTHETIC[_-]?(?:CONTINUITY|RUNNER|WATCH)|authorization\s*:|password\s*=|token\s*=|api[_-]?key\s*=|license[_-]?key\s*=)/gi,Ln=Math.floor(Lr*Mr),jr=z(pn,".first-run-shown"),zi="pending-epic-claims.json",Vr=64;function Br(e){return z(e,".neocortex",zi)}function Vt(e){const t=Br(e);if(!Nt(t))return{schemaVersion:1,operations:{}};const r=JSON.parse(Be(t,"utf8"));if(!r||typeof r!="object"||Array.isArray(r))throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");const a=r;if(a.schemaVersion!==1||!a.operations||typeof a.operations!="object"||Array.isArray(a.operations))throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");if(Object.keys(a.operations).length>Vr)throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");for(const[i,n]of Object.entries(a.operations)){if(!/^[a-f0-9]{64}$/.test(i)||!n||typeof n!="object"||Array.isArray(n))throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");const o=n;if(o.planningProtocol!==void 0&&o.planningProtocol!=="root-staged-v1")throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");if(typeof o.idempotencyKey!="string"||!/^[0-9a-f-]{36}$/.test(o.idempotencyKey)||typeof o.createdAt!="string")throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");if(o.claimId!==void 0&&(typeof o.claimId!="string"||!/^[0-9a-f-]{36}$/.test(o.claimId))||o.epicId!==void 0&&(typeof o.epicId!="string"||!/^P[1-9][0-9]*$/.test(o.epicId))||o.claimId===void 0!=(o.epicId===void 0))throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE")}return r}function Dn(e,t){const r=Br(e);Ht(z(e,".neocortex"),{recursive:!0,mode:448});const a=`${r}.${process.pid}.${nn()}.tmp`;rn(a,`${JSON.stringify(t)}
2
- `,{encoding:"utf8",mode:384,flag:"wx"}),sr(a,r)}function Ki(e,t){return Ye("sha256").update(`nx-epic-logical-operation-v1\0${JSON.stringify({command:t,args:e})}`,"utf8").digest("hex")}function Qi(e,t,r="create-epic"){const a=Ki(t,r),i=Vt(e),n=i.operations[a];if(n)return{key:n.idempotencyKey,fingerprint:a};if(Object.keys(i.operations).length>=Vr)throw new Error("EPIC_CLAIM_CAPACITY_EXCEEDED");const o=nn(),s={...i.operations,[a]:{idempotencyKey:o,createdAt:new Date().toISOString()}};return Dn(e,{schemaVersion:1,operations:s}),{key:o,fingerprint:a}}function Xi(e,t){const r=Vt(e);if(!r.operations[t])return;const a={...r.operations};delete a[t],Dn(e,{schemaVersion:1,operations:a})}function Ur(e,t,r,a,i){if(!/^[0-9a-f-]{36}$/.test(r)||!/^P[1-9][0-9]*$/.test(a)||i!==void 0&&i!=="root-staged-v1")throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");const n=Vt(e),o=n.operations[t];if(!o)throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");if(o.claimId!==void 0&&(o.claimId!==r||o.epicId!==a))throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");Dn(e,{schemaVersion:1,operations:{...n.operations,[t]:{...o,claimId:r,epicId:a,...i?{planningProtocol:i}:{}}}})}function Zi(){try{if(Nt(jr))return;const e=Wa(),t=Ha(e);process.stderr.write(t);try{Ht(pn,{recursive:!0}),rn(jr,new Date().toISOString(),"utf-8")}catch{}}catch{}}function Mn(e,t=process.cwd()){return e&&e.trim().length>0?e:t}function eo(e){const t=e.metadata;if(!t||!(t.yoloopReleaseBlocked===!0||t.terminalClass==="release-blocked"||t.releaseBlocked!==void 0))return;const a=di(t.releaseBlocked);return!a||t.yoloopReleaseBlocked!==!0||t.terminalClass!=="release-blocked"||t.yoloopComplete!==!1||t.yoloopAborted!==!1?{success:!1,error:"YOLOOP_RELEASE_BLOCKED_INVALID: terminal evidence was inconsistent.",errorCode:"YOLOOP_RELEASE_BLOCKED_INVALID",metadata:t,exitCode:1}:{success:!1,instructions:e.instructions,metadata:{...t,releaseBlocked:a},error:"YOLOOP_RELEASE_BLOCKED: the current release attempt ended without success.",errorCode:"YOLOOP_RELEASE_BLOCKED",exitCode:1}}function to(e){return gi(e,{registryVersion:gt,registryChecksum:mt})}const no=new Set(["completed","aborted","cancelled"]),ro=new Set(["watch-target-missing","watch-target-malformed","watch-target-ambiguous","watch-target-multiple"]),Se=Object.freeze({COMPLETED:"invoke-watch-completed",CANCELLED:"invoke-watch-cancelled",IDLE_TIMEOUT:"invoke-watch-idle-timeout",MAX_POLLS:"invoke-watch-max-polls",STORE_UNAVAILABLE:"invoke-watch-store-unavailable",TARGET_UNRESOLVED:"invoke-watch-target-unresolved"}),be=Object.freeze({MISSING:"watch-target-missing",MALFORMED:"watch-target-malformed",AMBIGUOUS:"watch-target-ambiguous",CONFLICT:"watch-target-conflicting-evidence",SERVER_HELD_STREAM:"watch-target-server-held-stream-unsupported"}),W=Object.freeze({OK:"continuity-ok",WATCH_NO_SUMMARIES_YET:"watch-no-summaries-yet",WATCH_CURSOR_ADVANCED:"watch-cursor-advanced",WATCH_CURSOR_UNCHANGED:"watch-cursor-unchanged",WATCH_RENDER_PENDING:"watch-render-pending",WATCH_STOP_IDLE_LIMIT_REACHED:"watch-stop-idle-limit-reached",WATCH_STOP_MAX_POLLS_REACHED:"watch-stop-max-polls-reached",WATCH_TARGET_UNRESOLVED:"watch-target-unresolved",WATCH_SNAPSHOT_UNAVAILABLE:"watch-snapshot-unavailable",WATCH_EVIDENCE_UNAVAILABLE:"watch-evidence-unavailable"}),$r=240,ao=/(https?:\/\/\S+|ghp_[A-Za-z0-9_]+|sk-[A-Za-z0-9_-]+|-----BEGIN [A-Z ]*PRIVATE KEY-----|authorization\s*:|password\s*=|token\s*=|api[_-]?key\s*=|license[_-]?key\s*=|raw[_-]?log|transcript|stack\s*trace|stderr:|stdout:|system prompt|prompt body|workflow body|step body|PROTECTED_|PRIVATE_INTERNALS|CUSTOMER_PII|VENDOR_CORPUS|P180[_-]?SYNTHETIC[_-]?CONTINUITY|P185[_-]?SYNTHETIC[_-]?CONTINUITY|P187[_-]?SYNTHETIC[_-]?(?:CONTINUITY|RUNNER|WATCH))/i;function io(e){return e.replace(/[\w.+-]+@[\w-]+\.[\w.-]+/g,yt).replace(/(?:sk|pk|whsec|nxk)[-_](?:test|live|ant|proj|pro|free|enterprise)?[-_]?[A-Za-z0-9_-]{16,}/g,yt).replace(/NX-[FPE]-[a-f0-9]{24}-[a-f0-9]{4}/g,yt).replace(/eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g,yt).replace(Yi,yt).replace(Ji,yt)}function Je(e,t){const r=io(e);return r.length<=t?r:`${r.slice(0,t)}\u2026[TRUNCATED:${r.length-t}]`}function jn(e,t=0,r=new WeakSet){if(t>Fi)return"[MAX_DEPTH]";if(e==null)return e;if(typeof e=="string")return Je(e,Tt);if(typeof e=="number")return Number.isFinite(e)?e:null;if(typeof e=="boolean")return e;if(typeof e=="bigint")return String(e);if(!(typeof e=="function"||typeof e=="symbol")&&typeof e=="object"){if(r.has(e))return"[CIRCULAR]";r.add(e);try{if(Array.isArray(e))return e.slice(0,Wi).map(i=>jn(i,t+1,r));const a={};for(const[i,n]of Object.entries(e).slice(0,Hi)){if(qi.test(i)){a[i]=yt;continue}const o=jn(n,t+1,r);o!==void 0&&(a[i]=o)}return a}finally{r.delete(e)}}}function un(e,t){return{instructions:Je(e??"",Gi),metadata:t?jn(t):void 0}}class ln extends Error{reason;source;byteLength;code;constructor(t,r,a,i,n){super(r),this.reason=a,this.source=i,this.byteLength=n,this.name="InvokeCliInputError",this.code=t}}function oo(e){const t=on(e);return(t==="arch-plan"||t==="ui-ux-review")&&co(e,"--project-evidence")}function co(e,t){let r=null,a=-1,i=!1,n=!1;for(let o=0;o<=e.length;o+=1){const s=e[o];if(o===e.length||!r&&/\s/.test(s??"")){if(a>=0&&!i&&e.slice(a,o)===t)return!0;a=-1,i=!1,n=!1;continue}if(a<0&&(a=o),n){n=!1;continue}if(s==="\\"){n=!0;continue}(s==='"'||s==="'")&&(i=!0,r=r===s?null:r??s)}return!1}const so=/(?:^|\s)codex(?:-cli)?\s+([A-Za-z0-9][A-Za-z0-9._+-]{0,63})(?:\s|$)/i;function po(e,t){if(e.targetId!=="codex")return null;const r=t.CODEX_VERSION?.trim();if(r&&/^[A-Za-z0-9][A-Za-z0-9._+-]{0,63}$/.test(r))return r;try{return Ve("codex",["--version"],{encoding:"utf8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).trim().match(so)?.[1]??null}catch{return null}}function Vn(){return Ci({clientVersion:xt,registryVersion:gt,registryChecksum:mt})}class Bn extends Error{code="PAYLOAD_TOO_LARGE";telemetry;constructor(t){super(`PAYLOAD_TOO_LARGE: invoke request is ${t.payloadBytes} bytes after deterministic degradation; limit is ${t.limitBytes}. Reduce command input or local state context and retry.`),this.name="InvokePayloadTooLargeError",this.telemetry=t}}class Un extends Error{code="STRUCTURAL_CONTEXT_TOO_LARGE";telemetry;constructor(t){super(`STRUCTURAL_CONTEXT_TOO_LARGE: the bounded structural projection is ${t.payloadBytes} bytes; the request limit is strictly below ${t.limitBytes}. Select an explicit epic/story target or split the dependency graph.`),this.name="InvokeStructuralContextTooLargeError",this.telemetry=t}}let $n=!1;function uo(e){const t=[];if(!e||typeof e!="object")return t;const r=e,a=r.planning;if(a&&(a.current!==void 0||Array.isArray(a.history))&&t.push({code:"PLANNING_LEGACY",message:"legacy `planning.current`/`planning.history` detected (not read by v1 orchestrator)"}),Array.isArray(r.stories)&&t.push({code:"STORIES_AS_ARRAY",message:"`stories` is an Array (expected Object keyed by story ID)"}),r.epics&&typeof r.epics=="object"&&!Array.isArray(r.epics))for(const[n,o]of Object.entries(r.epics)){const s=o;if(s&&s.stories!==void 0&&!Array.isArray(s.stories)){t.push({code:"EPIC_STORIES_NOT_ARRAY",message:`epic "${n}" has non-array \`stories\` field (expected string[] of story IDs)`});break}}const i=r.epics&&typeof r.epics=="object"&&Object.keys(r.epics).length>0||r.stories&&typeof r.stories=="object"&&!Array.isArray(r.stories)&&Object.keys(r.stories).length>0||Array.isArray(r.stories)||a&&a.current!==void 0;return r.schema_version===void 0?i&&t.push({code:"SCHEMA_VERSION_MISSING",message:"`schema_version` field missing (expected: `schema_version: 1`)"}):r.schema_version!==1&&t.push({code:"SCHEMA_VERSION_OUTDATED",message:`schema_version=${String(r.schema_version)} (expected: 1)`}),t}function lo(e){if(!($n||e.length===0)){$n=!0;try{const t=e.map(r=>` - ${r.message}`).join(`
1
+ import{classifyNonUiArchitectureTransition as Aa,architectureMemoryPredecessorCount as or}from"./architecture-non-ui-continuation.js";import{parseArchitectureNonUiScopeReceipt as cr}from"./shared-architecture-non-ui.js";import{createHash as Ve,randomUUID as nn}from"node:crypto";import{loadPactAnswerReceipt as sr,loadPactPrivateAnswers as ba}from"./architecture-answers.js";import{acceptedArchitectureTerminalMemoryReceipt as Gt,deriveArchitectureTerminalMemoryReceipt as xn}from"./architecture-memory-terminal.js";import{deriveCommittedArchitectureEpicGraphRevision as Wt,explicitArchitectureEpicTarget as xa}from"./architecture-root-binding.js";import{derivePactWriteSet as Ta}from"../private-execution/pact-write-set.js";import{execFileSync as Be}from"node:child_process";import{existsSync as Nt,readFileSync as Ue,renameSync as dr,unlinkSync as Tn,writeFileSync as rn,mkdirSync as Ht,statSync as Pa,openSync as Ft,closeSync as qt,fsyncSync as an,realpathSync as ka,lstatSync as Lt}from"node:fs";import{isDeepStrictEqual as I}from"node:util";import{join as z,isAbsolute as Oa,resolve as Pn}from"node:path";import{homedir as Yt}from"node:os";import{isPrivateExecutionPublicEnvelope as Na,isPrivatePlanningRootPublicEnvelope as La,PRIVATE_MUTATION_QA_GATE_STEP_TOKEN as Da}from"../private-execution/delivery.js";import{acceptedPlanningDiagnosisPredecessor as pr}from"../private-execution/planning-diagnosis-checkpoint.js";import{acceptedPlanningResearchPredecessor as ur}from"../private-execution/planning-research-checkpoint.js";import{verifyCommittedPlanningMemory as lr}from"../private-execution/planning-memory-checkpoint.js";import{verifyCommittedPlanningGeneration as Ma}from"../private-execution/planning-generation-checkpoint.js";import{PLANNING_RAW_INTENT_MAX_CHARS as ja}from"../../../shared/dist/planning/diagnosis-state.js";import{LicenseClient as Va}from"../license/license-client.js";import{EncryptedCache as kn}from"../cache/encrypted-cache.js";import{NoOpCache as hr}from"../types/index.js";import{resolveClientPreFlightTrigger as on,TierAwareClient as Ba}from"../tier/tier-aware-client.js";import{COMMAND_REGISTRY_CHECKSUM as gt,COMMAND_REGISTRY_VERSION as mt,GENERATED_CLIENT_COMMANDS as Ua}from"../generated/command-registry.generated.js";import{loadSecureConfig as On}from"../config/secure-config.js";import{neocortexProfileDirectory as $a}from"../config/profile-directory.js";import{DEFAULT_SERVER_URL as Ga}from"../constants.js";import{detectFirstRunLocale as Wa,renderFirstRunMessage as Ha}from"../i18n/first-run.js";import{humanizeError as fr,formatHumanizedError as gr,detectErrorLocale as mr}from"../errors/error-messages.js";import{degradeStateSnapshotForPayloadLimit as Fa,projectStateSnapshotForInvoke as yr,projectStateSnapshotResultV2ForInvoke as qa}from"../state/project-state-snapshot.js";import{isInlineYoloMaterialization as Er,maybeRepairStateJsonBeforeInvoke as Ya,StateRepairHardStopError as Ja}from"../state/state-json-repair.js";import{StructuralDagError as Ir}from"../state/structural-dag-projection.js";import{collectStateMigrationAuthority as za,StateMigrationApplyError as Ka}from"../migrations/state-json.js";import{RUNNER_BOOTSTRAP_POLICY_REASON_CODES as Qa,classifyRunnerBootstrapPolicyFromArgs as Xa}from"../continuity/runner-bootstrap-policy.js";import{RUNNER_SCHEDULER_BOOTSTRAP_REASON_CODES as Za,ensureRunnerSchedulerBootstrap as ei,observeRunnerOperationalStatus as ti}from"../runner/scheduler.js";import{CONTINUITY_INVOKE_WATCH_DEFAULT_LIMIT as Sr,CONTINUITY_INVOKE_WATCH_DEFAULT_MAX_IDLE_POLLS as vr,CONTINUITY_INVOKE_WATCH_DEFAULT_MAX_POLLS as Cr,CONTINUITY_INVOKE_WATCH_DEFAULT_POLL_INTERVAL_MS as wr,openContinuityClientStateStore as ni}from"../continuity/continuity-client-state-store.js";import{isLocalJobsConsoleArgs as ri,runLocalJobsConsoleCommand as ai}from"../runner/local-console.js";import{detectNativeHostAttestation as ii,detectPlatform as oi}from"../adapters/platform-detector.js";import{signNxInvokeRequest as ci}from"../../../shared/dist/nx-invoke-signature.js";import{YOLO_INVOKE_ENVELOPE_CAPABILITY as si}from"../../../shared/dist/yolo/spec-envelope.js";import{parseReleaseBlockedResult as di}from"../../../shared/dist/yoloop/release-blocked.js";import{CLIENT_VERSION as xt}from"../version.js";import{createCapabilityCache as _r,executeInvokeQueryTransport as Rr,executeSecondaryNetworkMutation as pi}from"../effects/invoke-effect-gateways.js";import{STRICT_READ_ONLY_POLICY as ui,STRICT_READ_ONLY_CLIENT_PROJECTION as Ar,STRICT_READ_ONLY_SERVER_PROJECTION as li,StrictReadOnlyError as Dt,canonicalizeInvokeEffects as hi,createInvokeEffectContext as fi,verifyStrictReadOnlyReceipt as gi}from"../../../shared/dist/strict-readonly.js";import{admitInvocation as mi,assertInvokeInputEnvelopeV2 as yi,assertProjectIdentityMigrationReceiptV1 as Ei,buildProjectIdentityPublicDiagnostic as Mt,createInvocationAdmissionReceipt as Ii,projectInvokeInputEvidenceV1 as br,verifyStrictDiagnoseReceiptV1 as Si}from"../../../shared/dist/invocation/index.js";import{buildInvokeInputEnvelope as cn,InvokeInputDecodeError as vi}from"../invocation/invoke-input.js";import{COMPATIBILITY_REASON_CODES as jt,createCompatibilityOffer as Ci,createLegacyCompatibilityResult as wi,isCompatibilityResultV1 as _i}from"../../../shared/dist/compatibility/index.js";import{acknowledgeProjectIdentityMigration as Ri,finalizeProjectIdentityMigration as Ai,prepareProjectIdentityMigration as bi,ProjectIdentityMigrationError as Nn,readProjectIdentityMigrationPhase as xi}from"../migrations/project-identity.js";import{probeProjectIdentityMigrationCapability as Ti}from"../migrations/project-identity-capability.js";import{normalizeYoloopStoryPlanningEvidence as Pi}from"../../../shared/dist/yoloop/planning-graph.js";import{normalizeContinuousWriteRef as sn}from"../../../shared/dist/yoloop/wave-decision-receipt.js";import{applyGitLifecycleRuntimeOverlay as xr,classifyGitLifecycleStoryCheckpointProjectionSync as ki,ensureGitLifecycleRuntimeInitialized as Oi,executeP205TransientAuthorities as Ni,persistGitLifecycleGraphAuthority as Li,P205_COMPLETE_COMMAND as Di,gitLifecycleStoryWriteSet as Tr,readGitLifecycleRuntimeSync as dn,verifyLegacyCheckpointMigrationCandidateSync as Mi}from"../git/git-lifecycle-store.js";import{verifyRootMemoryPhysicalWriteSet as ji}from"../private-execution/root-memory-git-evidence.js";import{isRootProjectMemoryEffect as Vi}from"../private-execution/shared-root-memory-types.js";import{probeYoloInvokeEnvelopeCapability as Bi}from"../yolo/invoke-envelope-capability.js";import{collectYoloSpecEnvelope as Pr,extractTargetedYoloStoryId as Ui,refreshPrecollectedYoloSpecEnvelope as $i}from"../yolo/spec-envelope-collector.js";const pn=$a(),Ln=z(pn,"cache"),kr=z(Ln,"menu-cache.json"),Or=1440*60*1e3,Nr=3e4,Lr=256*1024,Dr=Lr,Mr=.8,yt="[REDACTED]",Gi=1e5,Tt=2e3,Wi=200,Hi=200,Fi=12,qi=/(?:promptBody|workflow|workflowGraph|stepBody|privateUrl|rawLog|secret|credential|licenseKey|apiKey|internalRouting|serverOnly|proprietary|protected)/i,Yi=/(?:PRIVATE|PROTECTED|SERVER_ONLY)[-_\s]*(?:PROMPT|PROMPT_BODY|WORKFLOW|WORKFLOW_GRAPH|STEP_BODY|STEP|ROUTING)\s*[:=][^\n\r]*/gi,Ji=/(?:https?:\/\/(?:localhost|127\.0\.0\.1|0\.0\.0\.0|\[::1\]|private|internal)[^\s"'<>]*|raw[_-]?log|transcript|stack\s*trace|stderr:|stdout:|system prompt|prompt body|workflow body|step body|PROTECTED_|PRIVATE_INTERNALS|CUSTOMER_PII|VENDOR_CORPUS|P180[_-]?SYNTHETIC[_-]?CONTINUITY|P185[_-]?SYNTHETIC[_-]?CONTINUITY|P187[_-]?SYNTHETIC[_-]?(?:CONTINUITY|RUNNER|WATCH)|authorization\s*:|password\s*=|token\s*=|api[_-]?key\s*=|license[_-]?key\s*=)/gi,Dn=Math.floor(Lr*Mr),jr=z(pn,".first-run-shown"),zi="pending-epic-claims.json",Vr=64;function Br(e){return z(e,".neocortex",zi)}function Vt(e){const t=Br(e);if(!Nt(t))return{schemaVersion:1,operations:{}};const r=JSON.parse(Ue(t,"utf8"));if(!r||typeof r!="object"||Array.isArray(r))throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");const a=r;if(a.schemaVersion!==1||!a.operations||typeof a.operations!="object"||Array.isArray(a.operations))throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");if(Object.keys(a.operations).length>Vr)throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");for(const[i,n]of Object.entries(a.operations)){if(!/^[a-f0-9]{64}$/.test(i)||!n||typeof n!="object"||Array.isArray(n))throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");const o=n;if(o.planningProtocol!==void 0&&o.planningProtocol!=="root-staged-v1")throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");if(typeof o.idempotencyKey!="string"||!/^[0-9a-f-]{36}$/.test(o.idempotencyKey)||typeof o.createdAt!="string")throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");if(o.claimId!==void 0&&(typeof o.claimId!="string"||!/^[0-9a-f-]{36}$/.test(o.claimId))||o.epicId!==void 0&&(typeof o.epicId!="string"||!/^P[1-9][0-9]*$/.test(o.epicId))||o.claimId===void 0!=(o.epicId===void 0))throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE")}return r}function Mn(e,t){const r=Br(e);Ht(z(e,".neocortex"),{recursive:!0,mode:448});const a=`${r}.${process.pid}.${nn()}.tmp`;rn(a,`${JSON.stringify(t)}
2
+ `,{encoding:"utf8",mode:384,flag:"wx"}),dr(a,r)}function Ki(e,t){return Ve("sha256").update(`nx-epic-logical-operation-v1\0${JSON.stringify({command:t,args:e})}`,"utf8").digest("hex")}function Qi(e,t,r="create-epic"){const a=Ki(t,r),i=Vt(e),n=i.operations[a];if(n)return{key:n.idempotencyKey,fingerprint:a};if(Object.keys(i.operations).length>=Vr)throw new Error("EPIC_CLAIM_CAPACITY_EXCEEDED");const o=nn(),s={...i.operations,[a]:{idempotencyKey:o,createdAt:new Date().toISOString()}};return Mn(e,{schemaVersion:1,operations:s}),{key:o,fingerprint:a}}function Xi(e,t){const r=Vt(e);if(!r.operations[t])return;const a={...r.operations};delete a[t],Mn(e,{schemaVersion:1,operations:a})}function Zi(e,t,r,a){const i=a.scope?.targetStoryId??a.current_session?.active_story_id??null,n=a.scope?.targetEpicId??a.current_session?.active_epic_id??null,o=i?a.stories[i]:void 0,s=Array.isArray(o?.steps_completed)?o.steps_completed.filter(y=>typeof y=="string"):[],u=r??Ve("sha256").update(`nx-yolo-project-path-v1\0${Pn(e)}`,"utf8").digest("hex"),g=JSON.stringify({projectBinding:u,args:t,storyId:i,epicId:n,status:typeof o?.status=="string"?o.status:null,lastStep:typeof o?.last_step=="string"?o.last_step:null,stepsCompleted:s});return`yolo-${Ve("sha256").update(`nx-yolo-logical-operation-v1\0${g}`,"utf8").digest("hex")}`}function Ur(e,t,r,a,i){if(!/^[0-9a-f-]{36}$/.test(r)||!/^P[1-9][0-9]*$/.test(a)||i!==void 0&&i!=="root-staged-v1")throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");const n=Vt(e),o=n.operations[t];if(!o)throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");if(o.claimId!==void 0&&(o.claimId!==r||o.epicId!==a))throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");Mn(e,{schemaVersion:1,operations:{...n.operations,[t]:{...o,claimId:r,epicId:a,...i?{planningProtocol:i}:{}}}})}function eo(){try{if(Nt(jr))return;const e=Wa(),t=Ha(e);process.stderr.write(t);try{Ht(pn,{recursive:!0}),rn(jr,new Date().toISOString(),"utf-8")}catch{}}catch{}}function jn(e,t=process.cwd()){return e&&e.trim().length>0?e:t}function to(e){const t=e.metadata;if(!t||!(t.yoloopReleaseBlocked===!0||t.terminalClass==="release-blocked"||t.releaseBlocked!==void 0))return;const a=di(t.releaseBlocked);return!a||t.yoloopReleaseBlocked!==!0||t.terminalClass!=="release-blocked"||t.yoloopComplete!==!1||t.yoloopAborted!==!1?{success:!1,error:"YOLOOP_RELEASE_BLOCKED_INVALID: terminal evidence was inconsistent.",errorCode:"YOLOOP_RELEASE_BLOCKED_INVALID",metadata:t,exitCode:1}:{success:!1,instructions:e.instructions,metadata:{...t,releaseBlocked:a},error:"YOLOOP_RELEASE_BLOCKED: the current release attempt ended without success.",errorCode:"YOLOOP_RELEASE_BLOCKED",exitCode:1}}function no(e){return mi(e,{registryVersion:mt,registryChecksum:gt})}const ro=new Set(["completed","aborted","cancelled"]),ao=new Set(["watch-target-missing","watch-target-malformed","watch-target-ambiguous","watch-target-multiple"]),Se=Object.freeze({COMPLETED:"invoke-watch-completed",CANCELLED:"invoke-watch-cancelled",IDLE_TIMEOUT:"invoke-watch-idle-timeout",MAX_POLLS:"invoke-watch-max-polls",STORE_UNAVAILABLE:"invoke-watch-store-unavailable",TARGET_UNRESOLVED:"invoke-watch-target-unresolved"}),be=Object.freeze({MISSING:"watch-target-missing",MALFORMED:"watch-target-malformed",AMBIGUOUS:"watch-target-ambiguous",CONFLICT:"watch-target-conflicting-evidence",SERVER_HELD_STREAM:"watch-target-server-held-stream-unsupported"}),H=Object.freeze({OK:"continuity-ok",WATCH_NO_SUMMARIES_YET:"watch-no-summaries-yet",WATCH_CURSOR_ADVANCED:"watch-cursor-advanced",WATCH_CURSOR_UNCHANGED:"watch-cursor-unchanged",WATCH_RENDER_PENDING:"watch-render-pending",WATCH_STOP_IDLE_LIMIT_REACHED:"watch-stop-idle-limit-reached",WATCH_STOP_MAX_POLLS_REACHED:"watch-stop-max-polls-reached",WATCH_TARGET_UNRESOLVED:"watch-target-unresolved",WATCH_SNAPSHOT_UNAVAILABLE:"watch-snapshot-unavailable",WATCH_EVIDENCE_UNAVAILABLE:"watch-evidence-unavailable"}),$r=240,io=/(https?:\/\/\S+|ghp_[A-Za-z0-9_]+|sk-[A-Za-z0-9_-]+|-----BEGIN [A-Z ]*PRIVATE KEY-----|authorization\s*:|password\s*=|token\s*=|api[_-]?key\s*=|license[_-]?key\s*=|raw[_-]?log|transcript|stack\s*trace|stderr:|stdout:|system prompt|prompt body|workflow body|step body|PROTECTED_|PRIVATE_INTERNALS|CUSTOMER_PII|VENDOR_CORPUS|P180[_-]?SYNTHETIC[_-]?CONTINUITY|P185[_-]?SYNTHETIC[_-]?CONTINUITY|P187[_-]?SYNTHETIC[_-]?(?:CONTINUITY|RUNNER|WATCH))/i;function oo(e){return e.replace(/[\w.+-]+@[\w-]+\.[\w.-]+/g,yt).replace(/(?:sk|pk|whsec|nxk)[-_](?:test|live|ant|proj|pro|free|enterprise)?[-_]?[A-Za-z0-9_-]{16,}/g,yt).replace(/NX-[FPE]-[a-f0-9]{24}-[a-f0-9]{4}/g,yt).replace(/eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/g,yt).replace(Yi,yt).replace(Ji,yt)}function Je(e,t){const r=oo(e);return r.length<=t?r:`${r.slice(0,t)}\u2026[TRUNCATED:${r.length-t}]`}function Vn(e,t=0,r=new WeakSet){if(t>Fi)return"[MAX_DEPTH]";if(e==null)return e;if(typeof e=="string")return Je(e,Tt);if(typeof e=="number")return Number.isFinite(e)?e:null;if(typeof e=="boolean")return e;if(typeof e=="bigint")return String(e);if(!(typeof e=="function"||typeof e=="symbol")&&typeof e=="object"){if(r.has(e))return"[CIRCULAR]";r.add(e);try{if(Array.isArray(e))return e.slice(0,Wi).map(i=>Vn(i,t+1,r));const a={};for(const[i,n]of Object.entries(e).slice(0,Hi)){if(qi.test(i)){a[i]=yt;continue}const o=Vn(n,t+1,r);o!==void 0&&(a[i]=o)}return a}finally{r.delete(e)}}}function un(e,t){return{instructions:Je(e??"",Gi),metadata:t?Vn(t):void 0}}class ln extends Error{reason;source;byteLength;code;constructor(t,r,a,i,n){super(r),this.reason=a,this.source=i,this.byteLength=n,this.name="InvokeCliInputError",this.code=t}}function co(e){const t=on(e);return(t==="arch-plan"||t==="ui-ux-review")&&so(e,"--project-evidence")}function so(e,t){let r=null,a=-1,i=!1,n=!1;for(let o=0;o<=e.length;o+=1){const s=e[o];if(o===e.length||!r&&/\s/.test(s??"")){if(a>=0&&!i&&e.slice(a,o)===t)return!0;a=-1,i=!1,n=!1;continue}if(a<0&&(a=o),n){n=!1;continue}if(s==="\\"){n=!0;continue}(s==='"'||s==="'")&&(i=!0,r=r===s?null:r??s)}return!1}const po=/(?:^|\s)codex(?:-cli)?\s+([A-Za-z0-9][A-Za-z0-9._+-]{0,63})(?:\s|$)/i;function uo(e,t){if(e.targetId!=="codex")return null;const r=t.CODEX_VERSION?.trim();if(r&&/^[A-Za-z0-9][A-Za-z0-9._+-]{0,63}$/.test(r))return r;try{return Be("codex",["--version"],{encoding:"utf8",timeout:2e3,stdio:["ignore","pipe","ignore"]}).trim().match(po)?.[1]??null}catch{return null}}function Bn(){return Ci({clientVersion:xt,registryVersion:mt,registryChecksum:gt})}class Un extends Error{code="PAYLOAD_TOO_LARGE";telemetry;constructor(t){super(`PAYLOAD_TOO_LARGE: invoke request is ${t.payloadBytes} bytes after deterministic degradation; limit is ${t.limitBytes}. Reduce command input or local state context and retry.`),this.name="InvokePayloadTooLargeError",this.telemetry=t}}class $n extends Error{code="STRUCTURAL_CONTEXT_TOO_LARGE";telemetry;constructor(t){super(`STRUCTURAL_CONTEXT_TOO_LARGE: the bounded structural projection is ${t.payloadBytes} bytes; the request limit is strictly below ${t.limitBytes}. Select an explicit epic/story target or split the dependency graph.`),this.name="InvokeStructuralContextTooLargeError",this.telemetry=t}}let Gn=!1;function lo(e){const t=[];if(!e||typeof e!="object")return t;const r=e,a=r.planning;if(a&&(a.current!==void 0||Array.isArray(a.history))&&t.push({code:"PLANNING_LEGACY",message:"legacy `planning.current`/`planning.history` detected (not read by v1 orchestrator)"}),Array.isArray(r.stories)&&t.push({code:"STORIES_AS_ARRAY",message:"`stories` is an Array (expected Object keyed by story ID)"}),r.epics&&typeof r.epics=="object"&&!Array.isArray(r.epics))for(const[n,o]of Object.entries(r.epics)){const s=o;if(s&&s.stories!==void 0&&!Array.isArray(s.stories)){t.push({code:"EPIC_STORIES_NOT_ARRAY",message:`epic "${n}" has non-array \`stories\` field (expected string[] of story IDs)`});break}}const i=r.epics&&typeof r.epics=="object"&&Object.keys(r.epics).length>0||r.stories&&typeof r.stories=="object"&&!Array.isArray(r.stories)&&Object.keys(r.stories).length>0||Array.isArray(r.stories)||a&&a.current!==void 0;return r.schema_version===void 0?i&&t.push({code:"SCHEMA_VERSION_MISSING",message:"`schema_version` field missing (expected: `schema_version: 1`)"}):r.schema_version!==1&&t.push({code:"SCHEMA_VERSION_OUTDATED",message:`schema_version=${String(r.schema_version)} (expected: 1)`}),t}function ho(e){if(!(Gn||e.length===0)){Gn=!0;try{const t=e.map(r=>` - ${r.message}`).join(`
3
3
  `);process.stderr.write(`[Neocortex] state.json schema drift detected:
4
4
  ${t}
5
5
  Run \`neocortex *migrate-state --preview\` to inspect or \`neocortex *migrate-state --apply\` to migrate.
6
6
  See docs/arquitetura-software/STATE-JSON-SCHEMA.md for the schema contract.
7
- `)}catch{}}}function Us(){$n=!1}function Gr(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function ho(e){return e==="active"||e==="archived"||e==="rolled-back"||e==="synthetic"||e==="orphan"?e:void 0}const fo=new Set(["goal","problem","desiredOutcome","rawIntent","context","users","surfaces","constraints","assumptions","risks","nonGoals","validationExpectations","debtRefs","repositoryEvidencePaths","journeyIds","screenIds","storybookStoryIds","backendContractIds","featureBlockerIds","remediationRefs","uiScope","remediationStory","examples","contracts"]),mo=/(?:[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}|(?:token|api[_-]?key|secret|password|credential|license[_-]?key)\s*[:=]\s*\S+|https?:\/\/(?:localhost|127\.0\.0\.1|10\.\d+\.\d+\.\d+|192\.168\.\d+\.\d+|172\.(?:1[6-9]|2\d|3[0-1])\.\d+\.\d+|[^\s/]*internal[^\s/]*)\S*|private\s+prompt|raw\s+vendor\s+corpus|sk-[A-Za-z0-9_-]{12,})/i;function go(e,t){if(!(!h(e)||e.schemaVersion!==1||e.epicId!==t||!/^P\d+$/.test(t)))try{const r=JSON.stringify(e);if(Buffer.byteLength(r)>16384||mo.test(r))return;const a=(n,o)=>{if(Object.keys(n).some(s=>!o.includes(s)))throw new Error("planning-unknown-field")};if(a(e,["schemaVersion","epicId","intake","intakeRevision","diagnosisReceipt","researchReceipt","degradeAuthorization"]),!h(e.intake)||Object.keys(e.intake).some(n=>!fo.has(n)))return;for(const[n,o]of Object.entries(e.intake))if(["examples","contracts"].includes(n)){const s=n==="examples"?["id","title","actor","given","when","then","source","coveredRequirement","expectedValidation"]:["id","kind","description","path"];if(!Array.isArray(o)||o.length>16)return;for(const u of o)if(!h(u)||(a(u,s),Object.values(u).some(m=>typeof m!="string"||m.length>256)))return}else if(Array.isArray(o)){if(o.length>32||o.some(s=>typeof s!="string"||s.length>256))return}else if(typeof o=="string"){if(o.length>(n==="rawIntent"?ja:512))return}else if(typeof o!="boolean"||!["uiScope","remediationStory"].includes(n))return;const i=["schemaVersion","kind","epicId","intakeRevision","artifactSummary","artifactDigest","predecessorReceiptId","accepted","receiptId"];for(const n of[e.diagnosisReceipt,e.researchReceipt])if(n!==void 0&&(!h(n)||(a(n,i),Object.values(n).some(o=>typeof o=="string"&&o.length>1024))))return;if(e.degradeAuthorization!==void 0){if(!h(e.degradeAuthorization))return;a(e.degradeAuthorization,["approved","intakeRevision","reasonCodes","assumptionCodes"]);for(const n of["reasonCodes","assumptionCodes"]){const o=e.degradeAuthorization[n];if(!Array.isArray(o)||o.length>32||o.some(s=>typeof s!="string"||s.length>128))return}}return JSON.parse(r)}catch{return}}function Wr(e){return e==="create-epic"||e==="discovered"?e:void 0}function Ue(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function yo(e){const t={};let r=!1;for(const a of["contracts","contract_refs","shared_surfaces","adr_refs","nfr_refs","acceptance_depends_on"]){if(e[a]===void 0)continue;const i=e[a];if(!Array.isArray(i)||i.length>128||i.some(n=>sn(n)===void 0)){r=!0;continue}t[a]=i.map(n=>sn(n))}if(e.planning!==void 0)try{if(!h(e.planning))throw new Error("planning-shape");const a=e.planning;for(const o of["claims","semanticArtifacts"]){if(a[o]===void 0)continue;const s=a[o];if(!Array.isArray(s)||s.length>128||s.some(u=>!h(u)||sn(u.ref)===void 0))throw new Error("planning-refs")}if(a.attempts!==void 0&&(!Array.isArray(a.attempts)||a.attempts.length>32))throw new Error("planning-attempts");for(const o of a.attempts??[]){if(!h(o)||!Array.isArray(o.reasonCodes)||o.reasonCodes.length>32||o.reasonCodes.some(s=>typeof s!="string"||!/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$/.test(s)))throw new Error("planning-attempt-reasons");if(o.discoveredClaims!==void 0&&(!Array.isArray(o.discoveredClaims)||o.discoveredClaims.length>128||o.discoveredClaims.some(s=>!h(s)||sn(s.ref)===void 0)))throw new Error("planning-attempt-claims")}const{graphRevision:i,...n}=Pi(a);t.planning=n}catch{r=!0}return r&&(t.planning={schemaVersion:1,dependencyBasis:"unknown",claims:[],semanticArtifacts:[]}),t}function h(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Et(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0}function ee(e){if(typeof e!="string")return;const t=e.trim();if(t)return t.replace(/[^a-z0-9_.:-]+/gi,"_").slice(0,120)}function K(e){if(typeof e!="string")return;const t=e.trim(),r=ee(e);return r===t?r:void 0}function _e(e){if(typeof e!="string")return;const t=e.trim();if(!(!t||t.length>240)&&/^[A-Za-z0-9][A-Za-z0-9._/-]*$/.test(t)&&!(t.includes("..")||t.includes("//")||t.includes("@{")||t.endsWith("/")||t.endsWith("."))&&!t.split("/").some(r=>!r||r.startsWith(".")||r.endsWith(".lock")))return t}function A(e){return typeof e=="string"&&/^[0-9a-f]{7,64}$/i.test(e)?e:void 0}function $e(e){if(!(typeof e!="string"||e.length>64)&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$/.test(e))return Number.isFinite(Date.parse(e))?e:void 0}function It(e){if(typeof e!="string")return;const t=e.trim();if(!(!t||t.length>240||t.includes("..")))return/^[A-Za-z0-9._:/#\-[\]]+$/.test(t)?t:void 0}function hn(e){if(!h(e))return;const t=l=>typeof l=="string"&&/^[A-Za-z0-9][A-Za-z0-9._:-]{0,95}$/.test(l),r=l=>typeof l=="string"&&/^[a-f0-9]{64}$/.test(l),a=(l,v)=>Array.isArray(l)&&l.length<=v&&l.every(t)&&new Set(l).size===l.length?l:void 0,i=(l,v)=>{if(!(!h(l)||l.schemaVersion!==2||!t(l.requestId)||!t(l.stageCommand)||!r(l.requestHash)||!r(l.inputHash)||!r(l.stateHash)||!r(l.nonce)||!r(l.stageRevision)||!r(l.stageHash)||!r(l.catalogHash)||l.targetEpicId!==void 0&&!t(l.targetEpicId)||v&&(!r(l.outputHash)||!r(l.artifactHash))))return{schemaVersion:2,...l.targetEpicId?{targetEpicId:l.targetEpicId}:{},requestId:l.requestId,requestHash:l.requestHash,inputHash:l.inputHash,stateHash:l.stateHash,nonce:l.nonce,stageCommand:l.stageCommand,stageRevision:l.stageRevision,stageHash:l.stageHash,catalogHash:l.catalogHash,...v?{outputHash:l.outputHash,artifactHash:l.artifactHash}:{}}},n=(l,v)=>{if(!(!h(l)||l.schemaVersion!=="1.1"||l.kind!==v||!r(l.receiptId)||!r(l.graphHash)||!r(l.evidenceHash)||!t(l.elementId)||!t(l.caseId)||!t(l.category)))return{schemaVersion:"1.1",kind:v,receiptId:l.receiptId,graphHash:l.graphHash,elementId:l.elementId,caseId:l.caseId,category:l.category,evidenceHash:l.evidenceHash}},o=(l,v)=>{if(!h(l)||l.kind!==v||!r(l.receiptId)||!a(l.evidenceIds,24)||v==="architecture-stage-completion"&&!["succeeded","failed"].includes(String(l.status))||v==="architecture-stage-validation"&&!["passed","failed","pending"].includes(String(l.status)))return;const y=i(l,!0);if(!y)return;const p=v==="architecture-stage-validation"?n(l.isolated,"isolated"):void 0,C=v==="architecture-stage-validation"?n(l.regression,"regression"):void 0;if(!(v==="architecture-stage-validation"&&(!p||!C)))return{...y,kind:v,receiptId:l.receiptId,status:l.status,evidenceIds:l.evidenceIds,...p&&C?{isolated:p,regression:C}:{}}},s={};e.schemaVersion===1&&(s.schemaVersion=1),e.owner==="root"&&(s.owner="root"),t(e.currentStageCommand)&&(s.currentStageCommand=e.currentStageCommand),["ask-user","delegate","resume","advance","blocked","complete"].includes(String(e.continuationState))&&(s.continuationState=e.continuationState);const u=a(e.questionIds,16);if(u&&(s.questionIds=u),(e.childStatus==="succeeded"||e.childStatus==="failed")&&(s.childStatus=e.childStatus),(e.evidencePolicy==="legacy-compatible"||e.evidencePolicy==="v2-required")&&(s.evidencePolicy=e.evidencePolicy),t(e.targetEpicId)&&(s.targetEpicId=e.targetEpicId),r(e.graphRevision)&&(s.graphRevision=e.graphRevision),e.graphSource==="committed-epic-v1"&&(s.graphSource=e.graphSource),e.nonUiScopeReceipt!==void 0){const l=or(e.nonUiScopeReceipt);if(!l||l.targetEpicId!==e.targetEpicId||l.graphRevision!==e.graphRevision||!h(e.accounting)||l.accountingId!==e.accounting.accountingId||!h(e.evidenceExpectation)||l.rootInputSha256!==e.evidenceExpectation.inputHash)throw new Error("architecture-non-ui-scope-invalid");s.nonUiScopeReceipt=l}h(e.pactAnswerReceipt)&&Object.keys(e.pactAnswerReceipt).sort().join(",")===["schemaVersion","targetEpicId","graphRevision","stateSha256","answersSha256","questionIds","publicSafe"].sort().join(",")&&e.pactAnswerReceipt.schemaVersion==="PactAnswerReceipt/1"&&e.pactAnswerReceipt.targetEpicId===e.targetEpicId&&e.pactAnswerReceipt.graphRevision===e.graphRevision&&r(e.pactAnswerReceipt.stateSha256)&&r(e.pactAnswerReceipt.answersSha256)&&E(e.pactAnswerReceipt.questionIds,["PACT-Q1-CONSUMER","PACT-Q2-PROVIDER","PACT-Q3-BROKER","PACT-Q4-MATCHERS","PACT-Q5-VERIFY"])&&e.pactAnswerReceipt.publicSafe===!0&&(s.pactAnswerReceipt=e.pactAnswerReceipt);const m=i(e.evidenceExpectation,!1);m&&(s.evidenceExpectation=m);const I=o(e.completionEvidence,"architecture-stage-completion"),w=o(e.validationEvidence,"architecture-stage-validation");if(I&&(s.completionEvidence=I),w&&(s.validationEvidence=w),h(e.reviewDecision)&&Object.keys(e.reviewDecision).sort().join(",")===["schemaVersion","targetEpicId","graphRevision","artifactHash","completionReceiptId","validationReceiptId","decision","evidenceIds","publicSafe"].sort().join(",")&&e.reviewDecision.schemaVersion==="ArchitectureReviewDecision/1"&&e.reviewDecision.targetEpicId===e.targetEpicId&&e.reviewDecision.graphRevision===e.graphRevision&&r(e.reviewDecision.graphRevision)&&r(e.reviewDecision.artifactHash)&&r(e.reviewDecision.completionReceiptId)&&r(e.reviewDecision.validationReceiptId)&&["approved","changes-requested"].includes(String(e.reviewDecision.decision))&&e.reviewDecision.publicSafe===!0){const l=a(e.reviewDecision.evidenceIds,24);l&&l.length>0&&(s.reviewDecision={...e.reviewDecision,evidenceIds:l})}if(Gt(e.terminalMemoryCheckpoint,e))s.terminalMemoryCheckpoint=e.terminalMemoryCheckpoint;else if(h(e.terminalMemoryCheckpoint)&&e.terminalMemoryCheckpoint.schemaVersion===void 0&&["passed","failed","pending"].includes(String(e.terminalMemoryCheckpoint.status))){const l=a(e.terminalMemoryCheckpoint.evidenceIds,24);l&&(s.terminalMemoryCheckpoint={status:e.terminalMemoryCheckpoint.status,evidenceIds:l})}if(Array.isArray(e.acceptedStages)&&e.acceptedStages.length<=15){const l=e.acceptedStages.map(v=>{if(!h(v)||!t(v.targetEpicId)||!t(v.stageCommand))return;const y=o(v.completionEvidence,"architecture-stage-completion"),p=o(v.validationEvidence,"architecture-stage-validation");return y&&p?{targetEpicId:v.targetEpicId,stageCommand:v.stageCommand,completionEvidence:y,validationEvidence:p}:void 0});l.every(v=>v!==void 0)&&(s.acceptedStages=l)}if(h(e.accounting)&&e.accounting.schemaVersion===1&&t(e.accounting.contractVersion)&&t(e.accounting.accountingId)&&typeof e.accounting.charged=="boolean"&&Number.isInteger(e.accounting.chargedQuotaUnits)&&typeof e.accounting.chargedQuotaUnits=="number"&&e.accounting.chargedQuotaUnits>=0&&e.accounting.chargedQuotaUnits<=13){const l=a(e.accounting.receiptIds,32);l&&(s.accounting={schemaVersion:1,contractVersion:e.accounting.contractVersion,accountingId:e.accounting.accountingId,charged:e.accounting.charged,chargedQuotaUnits:e.accounting.chargedQuotaUnits,receiptIds:l,...["in-progress","aborted","timed-out","failed","complete"].includes(String(e.accounting.lastOutcome))?{lastOutcome:e.accounting.lastOutcome}:{}})}return JSON.stringify(s).length<=96e3?s:void 0}function Eo(e){const t=h(e.metadata.archPlan)?e.metadata.archPlan.execution:void 0,r=h(t)?t.checkpoint:void 0,a=h(t)?t:void 0,i=h(r)?r:void 0,n=e.requestExecution,o=Array.isArray(i?.acceptedStages)?i.acceptedStages:[],s=n.currentStageCommand==="arch-prd"&&n.continuationState==="delegate"&&n.completionEvidence===void 0&&n.validationEvidence===void 0&&i?.currentStageCommand==="arch-prd"&&i.continuationState==="delegate"&&o.length===0&&a?.nextAction==="delegate",u=n.currentStageCommand==="arch-prd"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-architecture"&&i.continuationState==="advance"&&o.length===1&&h(o[0])&&o[0].stageCommand==="arch-prd"&&E(o[0].completionEvidence,n.completionEvidence)&&E(o[0].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",m=n.currentStageCommand==="arch-architecture"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-architecture"&&i.continuationState==="delegate"&&o.length===1&&E(o,n.acceptedStages)&&a?.nextAction==="delegate",I=n.currentStageCommand==="arch-architecture"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-fitness-functions"&&i.continuationState==="advance"&&o.length===2&&h(o[0])&&h(o[1])&&o[0].stageCommand==="arch-prd"&&o[1].stageCommand==="arch-architecture"&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===1&&E(o[0],n.acceptedStages[0])&&E(o[1].completionEvidence,n.completionEvidence)&&E(o[1].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",w=n.currentStageCommand==="arch-fitness-functions"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-fitness-functions"&&i.continuationState==="delegate"&&o.length===2&&h(o[0])&&h(o[1])&&o[0].stageCommand==="arch-prd"&&o[1].stageCommand==="arch-architecture"&&E(o,n.acceptedStages)&&a?.nextAction==="delegate",l=n.currentStageCommand==="arch-fitness-functions"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-api-contracts"&&i.continuationState==="advance"&&o.length===3&&h(o[0])&&h(o[1])&&h(o[2])&&o[0].stageCommand==="arch-prd"&&o[1].stageCommand==="arch-architecture"&&o[2].stageCommand==="arch-fitness-functions"&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===2&&E(o.slice(0,2),n.acceptedStages)&&E(o[2].completionEvidence,n.completionEvidence)&&E(o[2].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",v=n.currentStageCommand==="arch-api-contracts"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-api-contracts"&&i.continuationState==="delegate"&&o.length===3&&h(o[0])&&h(o[1])&&h(o[2])&&o[0].stageCommand==="arch-prd"&&o[1].stageCommand==="arch-architecture"&&o[2].stageCommand==="arch-fitness-functions"&&E(o,n.acceptedStages)&&a?.nextAction==="delegate",y=["PACT-Q1-CONSUMER","PACT-Q2-PROVIDER","PACT-Q3-BROKER","PACT-Q4-MATCHERS","PACT-Q5-VERIFY"],p=n.currentStageCommand==="arch-api-contracts"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="generate-pacts"&&i.continuationState==="ask-user"&&o.length===4&&h(o[3])&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===3&&E(o.slice(0,3),n.acceptedStages)&&o[3].stageCommand==="arch-api-contracts"&&E(o[3].completionEvidence,n.completionEvidence)&&E(o[3].validationEvidence,n.validationEvidence)&&E(i.questionIds,y)&&E(a?.questionIds,y)&&a?.nextAction==="ask-user",C=n.currentStageCommand==="generate-pacts"&&n.continuationState==="ask-user"&&i?.currentStageCommand==="generate-pacts"&&i.continuationState==="delegate"&&o.length===4&&E(o,n.acceptedStages)&&E(n.questionIds,y)&&E(i.questionIds,[])&&E(i.pactAnswerReceipt,e.answerReceipt)&&E(a?.pactAnswerReceipt,e.answerReceipt)&&e.answerReceipt?.stateSha256===e.sourceStateSha256&&a?.nextAction==="resume",k=n.currentStageCommand==="generate-pacts"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&E(n.pactAnswerReceipt,e.pactRecordedReceipt)&&i?.currentStageCommand==="arch-api-integrations"&&i.continuationState==="advance"&&o.length===5&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===4&&E(o.slice(0,4),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts"&&h(o[4])&&E(o[4].completionEvidence,n.completionEvidence)&&E(o[4].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",V=n.currentStageCommand==="arch-api-integrations"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-api-integrations"&&i.continuationState==="delegate"&&o.length===5&&E(o,n.acceptedStages)&&a?.nextAction==="delegate",T=n.currentStageCommand==="arch-api-integrations"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-database"&&i.continuationState==="advance"&&o.length===6&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===5&&E(o.slice(0,5),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations"&&h(o[5])&&E(o[5].completionEvidence,n.completionEvidence)&&E(o[5].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",P=n.currentStageCommand==="arch-database"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-database"&&i.continuationState==="delegate"&&o.length===6&&E(o,n.acceptedStages)&&a?.nextAction==="delegate",S=n.currentStageCommand==="arch-database"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-security"&&i.continuationState==="advance"&&o.length===7&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===6&&E(o.slice(0,6),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations,arch-database"&&h(o[6])&&E(o[6].completionEvidence,n.completionEvidence)&&E(o[6].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",_=n.currentStageCommand==="arch-security"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-security"&&i.continuationState==="delegate"&&o.length===7&&E(o,n.acceptedStages)&&a?.nextAction==="delegate",Q=n.currentStageCommand==="arch-security"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-design-system"&&i.continuationState==="advance"&&o.length===8&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===7&&E(o.slice(0,7),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations,arch-database,arch-security"&&h(o[7])&&E(o[7].completionEvidence,n.completionEvidence)&&E(o[7].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",D=n.currentStageCommand==="arch-design-system"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-design-system"&&i.continuationState==="delegate"&&o.length===8&&E(o,n.acceptedStages)&&a?.nextAction==="delegate",U=n.currentStageCommand==="arch-design-system"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-ux-design"&&i.continuationState==="advance"&&o.length===9&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===8&&E(o.slice(0,8),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations,arch-database,arch-security,arch-design-system"&&h(o[8])&&E(o[8].completionEvidence,n.completionEvidence)&&E(o[8].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",N=n.currentStageCommand==="arch-ux-design"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-ux-design"&&i.continuationState==="delegate"&&o.length===9&&E(o,n.acceptedStages)&&a?.nextAction==="blocked",ie=n.currentStageCommand==="arch-ux-design"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-performance"&&i.continuationState==="advance"&&o.length===10&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===9&&E(o.slice(0,9),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations,arch-database,arch-security,arch-design-system,arch-ux-design"&&h(o[9])&&E(o[9].completionEvidence,n.completionEvidence)&&E(o[9].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",M=n.currentStageCommand==="arch-performance"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-performance"&&i.continuationState==="delegate"&&o.length===10&&E(o,n.acceptedStages)&&a?.nextAction==="delegate",$=n.currentStageCommand==="arch-performance"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-testing"&&i.continuationState==="advance"&&o.length===11&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===10&&E(o.slice(0,10),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations,arch-database,arch-security,arch-design-system,arch-ux-design,arch-performance"&&h(o[10])&&E(o[10].completionEvidence,n.completionEvidence)&&E(o[10].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",Pe=n.currentStageCommand==="arch-testing"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-testing"&&i.continuationState==="delegate"&&o.length===11&&E(o,n.acceptedStages)&&a?.nextAction==="delegate",st=n.currentStageCommand==="arch-testing"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-infrastructure"&&i.continuationState==="advance"&&o.length===12&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===11&&E(o.slice(0,11),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations,arch-database,arch-security,arch-design-system,arch-ux-design,arch-performance,arch-testing"&&h(o[11])&&E(o[11].completionEvidence,n.completionEvidence)&&E(o[11].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",X=n.currentStageCommand==="arch-infrastructure"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-infrastructure"&&i.continuationState==="delegate"&&o.length===12&&E(o,n.acceptedStages)&&a?.nextAction==="delegate",O=n.currentStageCommand==="arch-infrastructure"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-review"&&i.continuationState==="advance"&&o.length===13&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===12&&E(o.slice(0,12),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations,arch-database,arch-security,arch-design-system,arch-ux-design,arch-performance,arch-testing,arch-infrastructure"&&h(o[12])&&E(o[12].completionEvidence,n.completionEvidence)&&E(o[12].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",F=n.currentStageCommand==="arch-review"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-review"&&i.continuationState==="delegate"&&o.length===13&&E(o,n.acceptedStages)&&a?.nextAction==="delegate",dt=n.currentStageCommand==="arch-review"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&n.reviewDecision===void 0&&i?.currentStageCommand==="arch-review"&&i.continuationState==="ask-user"&&o.length===13&&E(o,n.acceptedStages)&&E(i.questionIds,["ARCH-REVIEW-A09-APPROVAL"])&&E(i.completionEvidence,n.completionEvidence)&&E(i.validationEvidence,n.validationEvidence)&&a?.nextAction==="ask-user",Ne=n.currentStageCommand==="arch-review"&&n.continuationState==="ask-user"&&n.childStatus==="succeeded"&&h(n.reviewDecision)&&n.reviewDecision.decision==="approved"&&E(n.questionIds,["ARCH-REVIEW-A09-APPROVAL"])&&i?.currentStageCommand==="update-memory"&&i.continuationState==="advance"&&o.length===14&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===13&&E(o.slice(0,13),n.acceptedStages)&&h(o[13])&&o[13].stageCommand==="arch-review"&&E(o[13].completionEvidence,n.completionEvidence)&&E(o[13].validationEvidence,n.validationEvidence)&&E(i.reviewDecision,n.reviewDecision)&&a?.nextAction==="resume",ve=n.currentStageCommand==="update-memory"&&n.continuationState==="advance"&&h(n.reviewDecision)&&n.reviewDecision.decision==="approved"&&i?.currentStageCommand==="update-memory"&&i.continuationState==="delegate"&&o.length===14&&E(o,n.acceptedStages)&&E(i.reviewDecision,n.reviewDecision)&&a?.nextAction==="delegate",We=n.currentStageCommand==="update-memory"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="update-memory"&&i.continuationState==="complete"&&o.length===15&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===14&&E(o.slice(0,14),n.acceptedStages)&&h(o[14])&&o[14].targetEpicId===n.targetEpicId&&o[14].stageCommand==="update-memory"&&E(o[14].completionEvidence,n.completionEvidence)&&E(o[14].validationEvidence,n.validationEvidence)&&E(i.reviewDecision,n.reviewDecision)&&E(i.completionEvidence,n.completionEvidence)&&E(i.validationEvidence,n.validationEvidence)&&Gt(i.terminalMemoryCheckpoint,n)!==null&&E(i.terminalMemoryCheckpoint,n.terminalMemoryCheckpoint)&&a?.nextAction==="complete",He=n.currentStageCommand==="update-memory"&&n.continuationState==="complete"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="update-memory"&&i.continuationState==="complete"&&o.length===15&&E(o,n.acceptedStages)&&E(i.reviewDecision,n.reviewDecision)&&E(i.completionEvidence,n.completionEvidence)&&E(i.validationEvidence,n.validationEvidence)&&Gt(i.terminalMemoryCheckpoint,n)&&E(i.terminalMemoryCheckpoint,n.terminalMemoryCheckpoint)&&a?.nextAction==="complete",Z=a?Aa(n,a,Gt(n.terminalMemoryCheckpoint,n)&&E(i?.terminalMemoryCheckpoint,n.terminalMemoryCheckpoint)):void 0;if(e.metadata.mode!=="arch-plan"||e.metadata.resolvedTrigger!=="arch-plan"||!h(t)||!h(r)||t.owner!=="root"||t.currentStageCommand!==r.currentStageCommand||t.continuationState!==r.continuationState||r.owner!=="root"||r.evidencePolicy!=="v2-required"||r.targetEpicId!==n.targetEpicId||r.graphRevision!==n.graphRevision||r.graphSource!==n.graphSource||!/^P[1-9][0-9]{0,11}$/.test(String(r.targetEpicId))||!/^[a-f0-9]{64}$/.test(String(r.graphRevision))||!Array.isArray(r.acceptedStages)||!(Z||s||u||m||I||w||l||v||p||C||k||V||T||P||S||_||Q||D||U||N||ie||M||$||Pe||st||X||O||F||dt||Ne||ve||We||He)||!h(r.accounting)||r.accounting.charged!==!0||!E(hn(r),r))throw new Error("architecture-root-checkpoint-invalid");const le=z(e.projectRoot,".neocortex"),oe=z(le,"state.json"),vt=z(le,"state.json.architecture.lock"),Fe=Ft(vt,"wx",384);let qe;try{const j=Lt(oe);if(!j.isFile()||j.isSymbolicLink())throw new Error("architecture-root-state-binding-invalid");const ce=Be(oe,"utf8");if(Ye("sha256").update(ce).digest("hex")!==e.sourceStateSha256)throw new Error("architecture-root-state-conflict");const J=JSON.parse(ce),ke=h(J)&&h(J.archPlan)?J.archPlan:{};if(!h(J)||!h(J.epics)||!Object.hasOwn(J.epics,r.targetEpicId)||(e.initialBinding?ke.execution!==void 0||n.graphSource!=="committed-epic-v1":!E(hn(ke.execution),n))||h(J.scope)&&J.scope.kind==="projected")throw new Error("architecture-root-state-binding-invalid");if(n.graphSource==="committed-epic-v1"&&n.graphRevision!==Wt(e.projectRoot,String(n.targetEpicId)))throw new Error("architecture-root-epic-binding-invalid");if(He||Z==="complete-replay"){const ye={...n,continuationState:"delegate",acceptedStages:n.acceptedStages.slice(0,ir(n))};if(!E(n.terminalMemoryCheckpoint,xn(e.projectRoot,ye)))throw new Error("architecture-root-state-conflict");return}const se=nn(),Ct=Ve("git",["rev-parse","--git-common-dir"],{cwd:e.projectRoot,encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim(),Ke=Oa(Ct)?dr(Ct):dr(e.projectRoot,Ct);if(ka(Ke)!==Ke)throw new Error("architecture-root-backup-dir-invalid");const ge=z(Ke,"neocortex-architecture");Ht(ge,{recursive:!0,mode:448});const Y=Lt(ge);if(!Y.isDirectory()||Y.isSymbolicLink()||Y.uid!==process.getuid?.()||(Y.mode&63)!==0)throw new Error("architecture-root-backup-dir-invalid");const vn=z(ge,`state-backup-${se}.json`),x=Ft(vn,"wx",384);try{rn(x,ce),an(x)}finally{qt(x)}const wt=Ft(ge,"r");try{an(wt)}finally{qt(wt)}const f={...J,archPlan:{...ke,execution:r}};qe=z(le,`state.json.architecture-tmp-${se}`);const pt=Ft(qe,"wx",384);try{rn(pt,`${JSON.stringify(f,null,2)}
8
- `),an(pt)}finally{qt(pt)}if((We||Z==="complete")&&!E(n.terminalMemoryCheckpoint,xn(e.projectRoot,n)))throw new Error("architecture-root-state-conflict");if(n.graphSource==="committed-epic-v1"&&n.graphRevision!==Wt(e.projectRoot,String(n.targetEpicId)))throw new Error("architecture-root-epic-binding-invalid");sr(qe,oe),qe=void 0;const $t=Ft(le,"r");try{an($t)}finally{qt($t)}}finally{if(qe)try{Tn(qe)}catch{}qt(Fe),Tn(vt)}}function fn(e,t){if(!h(e))return;const r={};for(const a of t){const i=e[a];if(typeof i=="boolean")r[a]=i;else if(typeof i=="number"&&Number.isFinite(i))r[a]=i;else if(typeof i=="string"){const n=ee(i);n&&(r[a]=n)}}return Object.keys(r).length>0?r:void 0}function mn(e){return e==="epic"||e==="story"?e:void 0}function Hr(e){if(!h(e)||e.schemaVersion!==1)return;const t=K(e.ownerStoryId),r=K(e.sessionId),a=K(e.idempotencyKey),i=$e(e.acquiredAt),n=$e(e.expiresAt);if(!(!t||!r||!a||!i||!n||Date.parse(n)<=Date.parse(i)))return{schemaVersion:1,ownerStoryId:t,sessionId:r,idempotencyKey:a,acquiredAt:i,expiresAt:n}}function Fr(e){if(!h(e)||e.schemaVersion!==1)return;const t=K(e.storyId),r=K(e.epicId),a=_e(e.branch),i=A(e.baseSha),n=A(e.headSha),o=K(e.idempotencyKey),s=$e(e.recordedAt),u=Ue(e.commits).map(A).filter(V=>!!V).slice(0,256),m=Ue(e.receiptRefs).map(It).filter(V=>!!V).slice(0,256),I=e.dispatchId===void 0?void 0:K(e.dispatchId),w=e.bundleId===void 0?void 0:K(e.bundleId),l=e.bundleDigest===void 0?void 0:A(e.bundleDigest),v=e.graphRevision===void 0?void 0:A(e.graphRevision),y=e.claimRevision===void 0?void 0:K(e.claimRevision),p=Io(e.qaReceipt),C=So(e.reviewReceipt),k=e.rootMemoryEffect===void 0?void 0:Vi(e.rootMemoryEffect)?e.rootMemoryEffect:void 0;if(!(!t||!r||!t.startsWith(`${r}.`)||!a||!i||!n||i===n||!o||!s||u.length===0||m.length===0||!Array.isArray(e.commits)||u.length!==e.commits.length||e.commits.length>256||!Array.isArray(e.receiptRefs)||m.length!==e.receiptRefs.length||e.receiptRefs.length>256||e.dispatchId!==void 0&&!I||e.bundleId!==void 0&&!w||e.bundleDigest!==void 0&&(!l||l.length!==64)||e.graphRevision!==void 0&&(!v||v.length!==64)||e.claimRevision!==void 0&&!y||e.rootMemoryEffect!==void 0&&(!k||k.storyId!==t||k.epicId!==r||k.executionBranch!==a||k.sourceHeadSha!==i||k.childClaimRevision!==y)||e.qaVerdict!=="passed"&&e.qaVerdict!=="blocked"||!["approved","changes-requested","pending"].includes(String(e.reviewVerdict))||!p||e.reviewVerdict!=="pending"&&!C||e.reviewVerdict==="pending"&&C||p.verdict!==e.qaVerdict||C&&C.verdict!==e.reviewVerdict||!Jr(p,{storyId:t,epicId:r,baseSha:i,headSha:n,bundleDigest:l,graphRevision:v})||C&&(!Jr(C,{storyId:t,epicId:r,baseSha:i,headSha:n,bundleDigest:l,graphRevision:v})||C.qaReceiptRef!==p?.receiptRef||C.receiptRef===p?.receiptRef)||!m.includes(String(p.receiptRef))||C&&(!m.includes(String(C.receiptRef))||Date.parse(String(C.reviewedAt))<Date.parse(String(p.checkedAt)))))return{schemaVersion:1,storyId:t,epicId:r,branch:a,baseSha:i,headSha:n,idempotencyKey:o,...I?{dispatchId:I}:{},...w?{bundleId:w}:{},...l?{bundleDigest:l}:{},...v?{graphRevision:v}:{},...y?{claimRevision:y}:{},...k?{rootMemoryEffect:structuredClone(k)}:{},qaVerdict:e.qaVerdict,reviewVerdict:e.reviewVerdict,...p?{qaReceipt:p}:{},...C?{reviewReceipt:C}:{},recordedAt:s,commits:u,receiptRefs:m}}function Io(e){if(!h(e)||e.schemaVersion!==1||e.kind!=="story_qa_evidence"||e.producer!=="local-yolo-tdd"||e.evidenceVersion!==void 0&&e.evidenceVersion!=="git-immutable-v1"&&e.evidenceVersion!=="p205-execution-v2"||!["passed","blocked"].includes(String(e.verdict)))return;const t=K(e.storyId),r=K(e.epicId),a=A(e.baseSha),i=A(e.headSha),n=A(e.bundleDigest),o=A(e.graphRevision),s=A(e.sourceEvidenceDigest),u=$e(e.checkedAt),m=It(e.receiptRef),I=e.evidenceVersion==="p205-execution-v2"&&e.contract==="P205-CI-02"?e.contract:void 0,w=e.evidenceVersion==="p205-execution-v2"&&e.command==="node scripts/test-root.mjs --gate complete"?e.command:void 0,l=e.evidenceVersion==="p205-execution-v2"?A(e.manifestDigest):void 0,v=e.evidenceVersion==="p205-execution-v2"?A(e.resultDigest):void 0,y=e.evidenceVersion==="p205-execution-v2"?Ue(e.gateIds).map(K).filter(p=>!!p).slice(0,64):void 0;if(!(!t||!r||!a||!i||!n||n.length!==64||!o||o.length!==64||!s||s.length!==64||!u||!m||e.evidenceVersion==="p205-execution-v2"&&(!I||w!=="node scripts/test-root.mjs --gate complete"||!l||l.length!==64||!v||v.length!==64||!Array.isArray(e.gateIds)||!y||y.length===0||y.length!==e.gateIds.length)))return{schemaVersion:1,kind:"story_qa_evidence",producer:"local-yolo-tdd",...e.evidenceVersion?{evidenceVersion:e.evidenceVersion}:{},storyId:t,epicId:r,...e.evidenceVersion==="p205-execution-v2"?{contract:I,command:w,manifestDigest:l,gateIds:y,resultDigest:v}:{},baseSha:a,headSha:i,bundleDigest:n,graphRevision:o,sourceEvidenceDigest:s,verdict:e.verdict,checkedAt:u,receiptRef:m}}function qr(e){if(!h(e)||e.schemaVersion!==1||e.kind!=="story_checkpoint_physical_verification"||e.producer!=="client-p205-transient-v1"||e.publicSafe!==!0||e.verdict!=="verified"&&e.verdict!=="rejected")return;const t=K(e.storyId),r=K(e.epicId),a=_e(e.branch),i=A(e.baseSha),n=A(e.headSha),o=A(e.aggregateHeadSha),s=A(e.commitBodyDigest),u=A(e.changedPathsDigest),m=e.claimVerification==="canonical"||e.claimVerification==="legacy-migration"?e.claimVerification:void 0,I=A(e.effectiveClaimRevision),w=e.command==="node scripts/test-root.mjs --gate complete"?e.command:void 0,l=A(e.manifestDigest),v=Ue(e.gateIds).map(K).filter(P=>!!P).slice(0,64),y=A(e.resultDigest),p=A(e.graphRevision),C=A(e.executionEvidenceDigest),k=A(e.sourceEvidenceDigest),V=$e(e.verifiedAt),T=Ue(e.reasonCodes).map(K).filter(P=>!!P).slice(0,16);if(!(!t||!r||!a||!i||i.length<40||!n||n.length<40||!o||o.length<40||!s||s.length!==64||!u||u.length!==64||!m||!I||I.length!==64||!w||!l||l.length!==64||!Array.isArray(e.gateIds)||v.length!==e.gateIds.length||!y||y.length!==64||!p||p.length!==64||!C||C.length!==64||!k||k.length!==64||!V||T.length===0||e.verdict==="verified"&&(v.length===0||!T.includes("checkpoint-p205-transient-verified"))))return{schemaVersion:1,kind:"story_checkpoint_physical_verification",producer:"client-p205-transient-v1",storyId:t,epicId:r,branch:a,baseSha:i,headSha:n,aggregateHeadSha:o,commitBodyDigest:s,changedPathsDigest:u,claimVerification:m,effectiveClaimRevision:I,command:w,manifestDigest:l,gateIds:v,resultDigest:y,graphRevision:p,executionEvidenceDigest:C,sourceEvidenceDigest:k,verifiedAt:V,verdict:e.verdict,reasonCodes:T,publicSafe:!0}}function Yr(e){const t=["schemaVersion","kind","producer","storyId","epicId","branch","baseSha","headSha","graphRevision","effectiveClaimRevision","sourceEvidenceDigest","verifiedAt","reasonCodes","integrationAuthorized","publicSafe"];if(!h(e)||Object.keys(e).some(l=>!t.includes(l))||e.schemaVersion!==1||e.kind!=="story_scheduling_checkpoint_evidence"||e.producer!=="client-git-physical-v1"||e.integrationAuthorized!==!1||e.publicSafe!==!0)return;const r=K(e.storyId),a=K(e.epicId),i=_e(e.branch),n=A(e.baseSha),o=A(e.headSha),s=A(e.graphRevision),u=A(e.effectiveClaimRevision),m=A(e.sourceEvidenceDigest),I=$e(e.verifiedAt),w=Ue(e.reasonCodes).map(K).filter(l=>!!l);if(!(!r||!a||!i||!n||n.length<40||!o||o.length<40||!s||s.length!==64||!u||u.length!==64||!m||m.length!==64||!I||!Array.isArray(e.reasonCodes)||w.length!==1||w[0]!=="checkpoint-git-scheduling-verified"))return{schemaVersion:1,kind:"story_scheduling_checkpoint_evidence",producer:"client-git-physical-v1",storyId:r,epicId:a,branch:i,baseSha:n,headSha:o,graphRevision:s,effectiveClaimRevision:u,sourceEvidenceDigest:m,verifiedAt:I,reasonCodes:w,integrationAuthorized:!1,publicSafe:!0}}function So(e){if(!h(e)||e.schemaVersion!==1||e.kind!=="story_review_evidence"||e.producer!=="root-commit-range-review"||!["approved","changes-requested"].includes(String(e.verdict)))return;const t=K(e.storyId),r=K(e.epicId),a=A(e.baseSha),i=A(e.headSha),n=A(e.bundleDigest),o=A(e.graphRevision),s=A(e.sourceEvidenceDigest),u=It(e.qaReceiptRef),m=$e(e.reviewedAt),I=It(e.receiptRef);if(!(!t||!r||!a||!i||!n||n.length!==64||!o||o.length!==64||!s||s.length!==64||!u||!m||!I))return{schemaVersion:1,kind:"story_review_evidence",producer:"root-commit-range-review",storyId:t,epicId:r,baseSha:a,headSha:i,bundleDigest:n,graphRevision:o,sourceEvidenceDigest:s,qaReceiptRef:u,verdict:e.verdict,reviewedAt:m,receiptRef:I}}function Jr(e,t){return["storyId","epicId","baseSha","headSha","bundleDigest","graphRevision"].every(r=>e[r]===t[r])}function zr(e){if(!h(e)||e.schemaVersion!==1||e.capturedFromCurrentCheckout!==!0)return;const t=_e(e.originBranch),r=A(e.originHeadSha),a=_e(e.executionBranch),i=$e(e.capturedAt);if(!(!t||!r||r.length<40||!a||!i||t===a))return{schemaVersion:1,originBranch:t,originHeadSha:r,executionBranch:a,capturedFromCurrentCheckout:!0,capturedAt:i}}function Kr(e){if(!h(e)||e.schemaVersion!==1||e.verdict!=="passed")return;const t=A(e.executionHeadSha),r=A(e.graphRevision),a=$e(e.checkedAt),i=It(e.receiptRef),n=Ue(e.gateIds).map(K).filter(I=>!!I).slice(0,128),o=e.evidenceVersion==="p205-execution-v2"&&e.producer==="local-yolo-tdd"&&e.contract==="P205-CI-02"&&e.command==="node scripts/test-root.mjs --gate complete",s=e.evidenceVersion===void 0&&e.producer===void 0&&e.contract===void 0&&e.command===void 0&&e.manifestDigest===void 0&&e.resultDigest===void 0,u=o?A(e.manifestDigest):void 0,m=o?A(e.resultDigest):void 0;if(!(!t||t.length<40||!r||r.length!==64||!a||!i||n.length===0||!Array.isArray(e.gateIds)||n.length!==e.gateIds.length||e.gateIds.length>128||!s&&!o||o&&(!u||u.length!==64||!m||m.length!==64)))return{schemaVersion:1,...o?{evidenceVersion:"p205-execution-v2",producer:"local-yolo-tdd",contract:"P205-CI-02",command:"node scripts/test-root.mjs --gate complete",manifestDigest:u,resultDigest:m}:{},verdict:"passed",executionHeadSha:t,graphRevision:r,checkedAt:a,receiptRef:i,gateIds:n}}function Gn(e){if(!h(e)||e.schemaVersion!==1)return;const t=fn(e,["schemaVersion","kind","storyId","epicId","baseSha","headSha","originalBaseSha","originalHeadSha","gitPullRequest","preservesLaterCommits","historyRewrite","recordedAt"])??{},r=Ue(e.receiptRefs).map(It).filter(i=>!!i).slice(0,256),a=Ue(e.revertCommits).map(ee).filter(i=>!!i).slice(0,256);return{...t,...r.length?{receiptRefs:r}:{},...a.length?{revertCommits:a}:{}}}function vo(e){if(!(!h(e)||Object.keys(e).sort().join(",")!=="gitPullRequest,headSha,kind,prNumber,reviewEvidenceDigest,schemaVersion"||e.schemaVersion!==1||e.kind!=="git-pull-request"||e.gitPullRequest!==!0||!Number.isSafeInteger(e.prNumber)||Number(e.prNumber)<=0||typeof e.headSha!="string"||!/^[a-f0-9]{40}$/.test(e.headSha)||typeof e.reviewEvidenceDigest!="string"||!/^[a-f0-9]{64}$/.test(e.reviewEvidenceDigest)))return{schemaVersion:1,kind:"git-pull-request",gitPullRequest:!0,prNumber:e.prNumber,headSha:e.headSha,reviewEvidenceDigest:e.reviewEvidenceDigest}}function Qr(e){if(!h(e)||e.schemaVersion!==1||e.publicSafe!==!0)return;const t=K(e.epicId),r=_e(e.executionBranch),a=_e(e.originBranch),i=A(e.baseSha),n=A(e.executionHeadSha),o=e.mergeSha===void 0?void 0:A(e.mergeSha),s=e.pushedSha===void 0?void 0:A(e.pushedSha),u=K(e.idempotencyKey),m=$e(e.attemptStartedAt),I=e.completedAt===void 0?void 0:$e(e.completedAt),w=Ue(e.localGateReceiptRefs).map(It).filter(p=>!!p).slice(0,256),l=Ue(e.reasonCodes).map(K).filter(p=>!!p).slice(0,64),v=wo(e.candidateQa),y=Co(e.providerGuard);if(!(!t||!r||!a||!i||!n||!u||!m||w.length===0||l.length===0||!["direct","single_pr"].includes(String(e.strategy))||!["prepared","merged","pushed","denied_external_gate","blocked_local_or_repo"].includes(String(e.physicalStatus))||typeof e.retryEligible!="boolean"||e.providerGuard!==void 0&&!y||y&&(e.strategy!=="single_pr"||e.physicalStatus!=="pushed"||y.prHeadSha!==o||y.originHeadSha!==i)))return{schemaVersion:1,epicId:t,executionBranch:r,originBranch:a,baseSha:i,executionHeadSha:n,...o?{mergeSha:o}:{},...s?{pushedSha:s}:{},strategy:e.strategy,...Et(e.prNumber)?{prNumber:Et(e.prNumber)}:{},physicalStatus:e.physicalStatus,localGateReceiptRefs:w,idempotencyKey:u,attemptStartedAt:m,...v?{candidateQa:v}:{},...y?{providerGuard:y}:{},...I?{completedAt:I}:{},retryEligible:e.retryEligible,reasonCodes:l,publicSafe:!0}}function Co(e){if(!h(e)||e.schemaVersion!==1||e.provider!=="github"||e.publicSafe!==!0)return;const t=String(e.mode),r=String(e.source),a=t==="recovered_exact_tree"?r==="physical_recovery":t==="strict_up_to_date_expected_head"&&["branch_protection","ruleset","branch_protection_and_ruleset"].includes(r),i=A(e.prHeadSha),n=A(e.originHeadSha),o=$e(e.checkedAt);if(!(!a||!i||!n||!o))return{schemaVersion:1,provider:"github",mode:t,source:r,prHeadSha:i,originHeadSha:n,checkedAt:o,publicSafe:!0}}function wo(e){if(!h(e)||e.schemaVersion!==1||e.kind!=="epic_merge_candidate_qa"||e.contract!=="P205-CI-02"||e.command!==Di)return;const r=Object.fromEntries(["originHeadSha","executionHeadSha","mergeSha","treeSha","graphRevision","manifestDigest","resultDigest"].map(o=>[o,A(e[o])])),a=$e(e.checkedAt),i=It(e.receiptRef),n=Ue(e.gateIds).filter(o=>/^[a-z0-9-]+$/.test(o)).slice(0,128);if(!(Object.values(r).some(o=>!o)||!a||!i||n.length===0))return{schemaVersion:1,kind:e.kind,contract:e.contract,command:e.command,...r,checkedAt:a,receiptRef:i,gateIds:n}}function _o(e){if(!h(e))return;const t={...ee(e.active_epic_id??e.activeEpicId)?{active_epic_id:ee(e.active_epic_id??e.activeEpicId)}:{},...ee(e.active_story_id??e.activeStoryId)?{active_story_id:ee(e.active_story_id??e.activeStoryId)}:{},...ee(e.active_step_id??e.activeStepId)?{active_step_id:ee(e.active_step_id??e.activeStepId)}:{},...ee(e.session_id??e.sessionId)?{session_id:ee(e.session_id??e.sessionId)}:{},...ee(e.started_at??e.startedAt)?{started_at:ee(e.started_at??e.startedAt)}:{}};return Object.keys(t).length>0?t:void 0}function Ro(e){const t=fn(e.completionEvidence??e.completion_evidence,["prNumber","pr_number","prState","pr_state","pullRequestState","merged","mergedAt","issueNumber","issue_number","issueState","issue_state","closedAt"]),r=fn(e.issueCloseAudit??e.issue_close_audit,["schema_version","event","storyId","epicId","issueNumber","closedAt","publicSafe","rawLogStorage"]),a=fn(e.scopedCiEvidence??e.scoped_ci_evidence,["schema_version","storyId","epicId","prNumber","finalState","publicSafe","rawLogStorage"]);return{...typeof e.merged=="boolean"?{merged:e.merged}:{},...typeof e.safeToContinueYoloop=="boolean"?{safeToContinueYoloop:e.safeToContinueYoloop}:{},...typeof e.mergeBlockedRemotely=="boolean"?{mergeBlockedRemotely:e.mergeBlockedRemotely}:{},...ee(e.physicalMergeStatus)?{physicalMergeStatus:ee(e.physicalMergeStatus)}:{},...ee(e.pr_state??e.prState??e.pull_request_state??e.pullRequestState)?{pr_state:ee(e.pr_state??e.prState??e.pull_request_state??e.pullRequestState)}:{},...ee(e.issue_state??e.issueState??e.workflow_issue_state)?{issue_state:ee(e.issue_state??e.issueState??e.workflow_issue_state)}:{},...Et(e.issue_number??e.issueNumber)?{issue_number:Et(e.issue_number??e.issueNumber)}:{},...t?{completionEvidence:t}:{},...r?{issueCloseAudit:r}:{},...a?{scopedCiEvidence:a}:{}}}class it extends Error{reasonCode;constructor(t){super(t),this.name="StateSnapshotIntegrityError",this.reasonCode=t}}const Ao=new Set(["yolo","yoloop","finalize-epic","audit"]);function Xr(e){return typeof e=="string"&&Ao.has(e)}function Wn(e,t={}){const r=z(e,".neocortex","state.json");if(!Nt(r))throw new it("git-lifecycle-state-missing");let a;try{a=JSON.parse(Be(r,"utf8"))}catch{throw new it("git-lifecycle-state-corrupt")}if(!h(a)||!h(a.epics)||!h(a.stories))throw new it("git-lifecycle-state-shape-invalid");const i=Object.values(a.epics).some(n=>h(n)&&(n.branch_mode==="epic"||_e(n.execution_branch)!==void 0));if(i)try{dn(e,{required:!0})}catch(n){const o=n instanceof Error&&/^git-lifecycle-/.test(n.message)?n.message:"git-lifecycle-runtime-invalid";if(t.allowMissingRuntime&&o==="git-lifecycle-runtime-missing")return{lifecycleDeclared:!0,runtimeMissing:!0};throw new it(o)}return{lifecycleDeclared:i,runtimeMissing:!1}}function gn(e,t={}){const r=z(e,".neocortex","state.json");if(!Nt(r)){if(t.epicAware&&!t.projectless)throw new it("git-lifecycle-state-missing");return{config:{project_name:"unknown",default_branch:"main",language:"pt-BR"},stories:{},epics:{}}}let a,i;try{const y=Be(r,"utf-8");i=Ye("sha256").update(y).digest("hex");const p=JSON.parse(y),C=h(p.epics)?p.epics:{},k=Object.values(C).some(_=>h(_)&&(_.branch_mode==="epic"||_e(_.execution_branch)!==void 0)),V=dn(e,{required:!!(t.epicAware&&k&&!t.projectless)});a=xr(p,V);const T=h(a.stories)?a.stories:{},P=h(a.epics)?a.epics:{},S=h(p.stories)?p.stories:{};for(const[_,Q]of Object.entries(T)){const D=h(Q)?Q:void 0;if(!D?.checkpoint)continue;const U=typeof D.epic_id=="string"?D.epic_id:_.split(".")[0],N=h(P[U])?P[U]:void 0,ie=_e(N?.execution_branch);if(!ie)continue;const M=ki(e,D.checkpoint,_,U,ie,t.p205Authorities?.[_],Tr(_,D,h(D.checkpoint)?D.checkpoint:void 0));if(M.kind==="integration-authorized")D.checkpoint_verification=M.verification,delete D.scheduling_checkpoint_evidence;else if(M.kind==="scheduling-only")D.scheduling_checkpoint_evidence=M.evidence,delete D.checkpoint,delete D.checkpoint_verification;else if(M.kind==="rejected"){D.checkpoint_verification=M.verification,delete D.scheduling_checkpoint_evidence;const $=h(S[_])?S[_]:void 0;if(delete D.checkpoint,V.stories[_]?.checkpoint!==void 0)for(const Pe of["status","last_step","steps_completed"])$&&Object.prototype.hasOwnProperty.call($,Pe)?D[Pe]=structuredClone($[Pe]):delete D[Pe];["done","completed","merged"].includes(String(D.status).toLowerCase())&&(D.status="blocked")}}}catch(y){if(t.epicAware&&!t.projectless){const p=y instanceof Error&&/^git-lifecycle-/.test(y.message)?y.message:"git-lifecycle-state-corrupt";throw new it(p)}return{config:{project_name:"unknown",default_branch:"main",language:"pt-BR"},stories:{},epics:{}}}try{const y=uo(a);y.length>0&&lo(y)}catch{}const n=a.config??a.project??{},o=a.stories??{},s={};for(const[y,p]of Object.entries(o)){const C=h(p.review_request)&&p.review_request.kind==="git-pull-request"?vo(p.review_request):Gn(p.review_request);s[y]={id:p.id??y,title:p.title,epic_id:p.epic_id,status:p.status??"backlog",...Wr(p.source)?{source:Wr(p.source)}:{},steps_completed:p.steps_completed??[],last_step:p.last_step??null,branch_name:p.branch_name??null,pr_number:p.pr_number,...mn(p.branch_mode)?{branch_mode:mn(p.branch_mode)}:{},...Fr(p.checkpoint)?{checkpoint:Fr(p.checkpoint)}:{},...qr(p.checkpoint_verification)?{checkpoint_verification:qr(p.checkpoint_verification)}:{},...Yr(p.scheduling_checkpoint_evidence)?{scheduling_checkpoint_evidence:Yr(p.scheduling_checkpoint_evidence)}:{},...C?{review_request:C}:{},...Gn(p.rollback_receipt)?{rollback_receipt:Gn(p.rollback_receipt)}:{},...Et(p.workflow_issue)?{workflow_issue:Et(p.workflow_issue)}:{},...Ro(p),depends_on:Gr(p.depends_on),files_to_modify:Ue(p.files_to_modify),...yo(p),risk:typeof p.risk=="string"?p.risk:void 0,blast_radius:typeof p.blast_radius=="number"?p.blast_radius:void 0}}const u=a.epics??{},m={};for(const[y,p]of Object.entries(u)){const C=ho(p.lifecycle_classification),k=go(p.createEpicPlanning,y);let V,T,P,S;if(k&&h(p.createEpicPlanningClaim)&&typeof p.createEpicPlanningClaim.claimId=="string"&&h(p.createEpicPlanningPhysical))try{pr(a,p.createEpicPlanningClaim.claimId,y,!0),V=JSON.parse(JSON.stringify(p.createEpicPlanningPhysical))}catch{}if(V&&h(p.createEpicPlanningClaim)&&typeof p.createEpicPlanningClaim.claimId=="string"&&h(p.createEpicPlanningResearchPhysical))try{ur(a,p.createEpicPlanningClaim.claimId,y),T=JSON.parse(JSON.stringify(p.createEpicPlanningResearchPhysical))}catch{}if(t.verifyPlanningGeneration&&k&&p.status==="generated"&&h(p.createEpicPlanningClaim)&&typeof p.createEpicPlanningClaim.claimId=="string"&&h(p.createEpicPlanningGenerationPhysical))try{if(Ma(e,p.createEpicPlanningClaim.claimId,y).stateSha256!==i)throw new Error("planning-generation-snapshot-raced");P=JSON.parse(JSON.stringify(p.createEpicPlanningGenerationPhysical)),V=JSON.parse(JSON.stringify(p.createEpicPlanningPhysical)),T=JSON.parse(JSON.stringify(p.createEpicPlanningResearchPhysical))}catch{}if(P&&h(p.createEpicPlanningClaim)&&typeof p.createEpicPlanningClaim.claimId=="string")try{const _=lr(e,p.createEpicPlanningClaim.claimId,y);if(_.stateSha256!==i)throw new Error("planning-memory-snapshot-raced");S=JSON.parse(JSON.stringify(_))}catch{}m[y]={id:p.id??y,title:p.title,...k?{createEpicPlanning:k}:{},...V?{createEpicPlanningPhysical:V}:{},...T?{createEpicPlanningResearchPhysical:T}:{},...P?{createEpicPlanningGenerationPhysical:P}:{},...S?{createEpicPlanningMemoryPhysical:S}:{},status:p.status,stories:p.stories,total_stories:p.total_stories,completed_stories:p.completed_stories,depends_on:Gr(p.depends_on),...mn(p.branch_mode)?{branch_mode:mn(p.branch_mode)}:{},..._e(p.execution_branch)?{execution_branch:_e(p.execution_branch)}:{},..._e(p.origin_branch)?{origin_branch:_e(p.origin_branch)}:{},...Hr(p.branch_lease)?{branch_lease:Hr(p.branch_lease)}:{},...zr(p.origin_binding)?{origin_binding:zr(p.origin_binding)}:{},...Kr(p.aggregate_qa_receipt)?{aggregate_qa_receipt:Kr(p.aggregate_qa_receipt)}:{},...Et(p.pr_number)?{pr_number:Et(p.pr_number)}:{},...ee(p.physicalMergeStatus)?{physicalMergeStatus:ee(p.physicalMergeStatus)}:{},...A(p.graph_revision)?{graph_revision:A(p.graph_revision)}:{},...Qr(p.terminal_git_receipt)?{terminal_git_receipt:Qr(p.terminal_git_receipt)}:{},...C?{lifecycle_classification:C}:{}}}const I=_o(a.current_session??a.currentSession),w=h(a.archPlan)?hn(a.archPlan.execution):void 0,l=a.epic_id_ledger,v=Array.isArray(l?.reserved_ids)?[...new Set(l.reserved_ids.filter(y=>typeof y=="string"&&/^P\d+$/.test(y)))].slice(0,2048):[];return{schema_version:typeof a.schema_version=="number"?a.schema_version:void 0,config:{project_name:n.project_name??n.name??"unknown",default_branch:n.default_branch??"main",language:n.language??"pt-BR",yolo_mode:n.yolo_mode,user_name:n.user_name,worktree_base:n.worktree_base,max_parallel_stories:n.max_parallel_stories,project_id:typeof n.project_id=="string"?n.project_id:void 0},stories:s,epics:m,...v.length>0?{epic_id_ledger:{schema_version:1,reserved_ids:v}}:{},...I?{current_session:I}:{},...w?{archPlan:{execution:w}}:{}}}const Hn=[["P222.01","fbc3176b33687b13a8fadf8c7ea7cc06b6b6c500"],["P222.02","c7d3feb9a168f9e15b35516a972c767f3aa357da"],["P222.03","4d9bd4f2a1a3a1dc6399c572eb84b8b74c017806"],["P222.04","66590ef2f706c9d036f42edf5e517b237724f74f"],["P222.05","3ee2662538311e9788796340ed11b65864a8d8d5"],["P222.06","8660d07e3f68503a9ceb24dc138d24f62ab6cb45"],["P222.07","d99c80feacee8ea4033aa3322990147fffa2df91"],["P222.08","1f9e37dc922d87908efefb9595db32d32db30b00"],["P222.09","5ae12e485900992658e346cf3e38568fda1c2eeb"],["P222.10","6c5b8dc4f03d629fea4b62a33f4794af8e27e4f0"],["P222.11","cfe90f2f955c0027c57e4c621141d17912db65cc"],["P222.12","65f253c5cb600a8ee1dd94a1efdfef2fa5cd1629"],["P222.13","1e78c75b393515803a55d1a9b63a7fec23f710c9"],["P222.14","3f3e0bfd247a8581170df2a23c89497b5ae3641e"],["P222.15","1fd6dd25fffa5714d4ffa8b4303735e417f93de6"]],Fn="6a41a47ff2521f80c2296ed811b0f0b304c54750",qn="dbc6d4670b2b7868a01973b1240e24589f1c5b7d",Zr="30dccfff07f9c969be11ae1d28e62a09731a0768";function bo(e,t){try{const r=t.indexOf(Zr);if(r<1||t[r-1]!==Fn)return new Map;const a=Ve("git",["show","--no-patch","--format=%P",Zr],{cwd:e,encoding:"utf8",maxBuffer:1024}).trim(),i=Ve("git",["show","--no-patch","--format=%P",qn],{cwd:e,encoding:"utf8",maxBuffer:1024}).trim();if(a!==`${Fn} ${qn}`||i!==`${Hn.at(-1)[1]} ${Fn}`)return new Map;const n=Ve("git",["rev-list","--first-parent","--reverse",qn],{cwd:e,encoding:"utf8",maxBuffer:32*1024*1024}).trim().split(`
9
- `),o=new Map;let s=-1;for(const[u,[m,I]]of Hn.entries()){const w=n.indexOf(I);if(w<=s)return new Map;s=w,o.set(m,{headSha:I,position:u-Hn.length})}return o}catch{return new Map}}async function xo(e,t,r){if(!Xr(r))return{};if(Er(t,r))return{};try{const a=JSON.parse(Be(z(e,".neocortex","state.json"),"utf8")),i=dn(e,{required:!0}),n=xr(a,i),o=h(n.stories)?n.stories:{},s=h(n.epics)?n.epics:{},u=Ve("git",["rev-parse","HEAD"],{cwd:e,encoding:"utf8"}).trim(),m=Ve("git",["symbolic-ref","--quiet","--short","HEAD"],{cwd:e,encoding:"utf8"}).trim(),I=Ve("git",["rev-list","--first-parent","--reverse",u],{cwd:e,encoding:"utf8",maxBuffer:32*1024*1024}).trim().split(`
10
- `).filter(Boolean),w=new Map(I.map((S,_)=>[S,_])),l=bo(e,I),v=t.match(/(?:^|\s)@?docs\/stories\/([A-Za-z][A-Za-z0-9._-]*)\.story\.md(?:\s|$)/)?.[1],y=r==="yoloop"?t.match(/(?:^|[\s/@])epic-(P[1-9][0-9]*)\.md(?:\s|$)/i)?.[1]?.toUpperCase():void 0,p=new Set,C=Object.entries(o).flatMap(([S,_])=>{if(v&&S!==v)return[];const Q=h(_)?_:void 0,D=h(Q?.checkpoint)?Q.checkpoint:void 0;if(!D)return[];const U=typeof Q?.epic_id=="string"?Q.epic_id:S.split(".")[0];if(y&&U!==y)return[];const N=A(D?.headSha),ie=U==="P222"?l.get(S):void 0,M=w.get(N??"")??(ie&&ie.headSha===N?ie.position:void 0);if(!N||N.length<40||M===void 0)return p.add(U),[];const $=h(s[U])?s[U]:void 0;if($?.branch_mode!=="epic"||_e($.execution_branch)!==m||_e(D.branch)!==m)return p.add(U),[];const Pe=A(D.graphRevision);if(!Pe||Pe.length!==64)return p.add(U),[];const st=A(D.claimRevision),X=[...Tr(S,Q,D)].sort(),O=Mi(e,D,S,U,m,X);if(!O&&st){if(X.length===0)return p.add(U),[];const F=Ve("git",["diff-tree","--no-commit-id","--name-only","-r","-z",N],{cwd:e,encoding:"utf8"}).split("\0").filter(Boolean);let dt=[];if(D.rootMemoryEffect!==void 0)try{dt=ji(e,D.rootMemoryEffect,{storyId:S,executionBranch:m,baseSha:String(D.baseSha),headRef:N,childPaths:X}).files.map(We=>We.path)}catch{return p.add(U),[]}if(F.length===0||F.some(We=>!X.some(He=>He===We||He.endsWith("/")&&We.startsWith(He))&&!dt.includes(We)))return p.add(U),[];const Ne=Ye("sha256").update(X.join("\0")).digest("hex"),ve=Ye("sha256").update(JSON.stringify(X)).digest("hex");if(st!==Ne&&st!==ve)return p.add(U),[]}else if(!O)return p.add(U),[];return Pe?.length===64?[{storyId:S,epicId:U,graphRevision:Pe,checkpointHead:N,position:M}]:[]}),k=new Set(p);for(const[S,_]of Object.entries(s)){const Q=h(_)?_:void 0,D=Array.isArray(Q?.stories)?Q.stories.filter(M=>typeof M=="string"):Object.keys(o).filter(M=>M.startsWith(`${S}.`)),U=C.filter(M=>M.epicId===S),N=D.filter(M=>U.some($=>$.storyId===M)),ie=[...U].sort((M,$)=>M.position-$.position).map(M=>M.storyId);(JSON.stringify(N)!==JSON.stringify(ie)||new Set(ie).size!==ie.length)&&k.add(S)}const V={},T=[...new Set(C.filter(S=>!k.has(S.epicId)).map(S=>S.graphRevision))],P=T.length>0?await Ni(e,{headSha:u,graphRevisions:T}):new Map;for(const S of C){if(k.has(S.epicId))continue;const _=P.get(S.graphRevision);if(!_)throw new Error("p205-transient-authority-missing");V[S.storyId]=_}return V}catch(a){const i=a instanceof Error&&/^(?:p205|git-lifecycle)-[a-z0-9-]+$/.test(a.message)?a.message:"p205-transient-execution-failed";return process.stderr.write(`[Neocortex] ${i}. Checkpoint projection remains fail-closed.
11
- `),{}}}function $s(e,t){return{kind:"full",trigger:e,targetEpicId:null,targetStoryId:null,includedStoryCount:Object.keys(t.stories).length,includedEpicCount:Object.keys(t.epics).length,omittedStoryCount:0,omittedEpicCount:0,reason:"full-state",projectionMode:"full-compatible"}}const ea="neocortex:menu:cache";async function To(e){try{const t=await e.get(ea);if(!t)return null;const r=JSON.parse(t);return r.version!==xt||Date.now()-r.cachedAt>Or?null:r}catch{return null}}async function Po(e,t,r){try{const a={instructions:t,metadata:r,cachedAt:Date.now(),version:xt};await e.set(ea,JSON.stringify(a),Or),ko()}catch{}}function ko(){try{Nt(kr)&&Tn(kr)}catch{}}function ta(e){return e.execute({phase:"client-preflight",domain:"client-persistence",category:"state-repair",operation:"update"},()=>kn(),()=>kn({strictReadOnly:!0}))}async function na(e,t,r){const a=r.mode==="strict";try{let i;if(a&&t)i=new Pn({cacheDir:Nn,passphrase:t,strictReadOnly:!0});else if(a)i=new hr;else if(t){const I=z(pn,"cache");i=new Pn({cacheDir:I,passphrase:t})}else process.stderr.write(`[neocortex] Warning: No license key in config. Run "neocortex activate" to re-authenticate.
12
- `),i=new hr;const n=_r(r,i,"auth-cache"),o=_r(r,i,"tier-cache"),s=new Va({serverUrl:e,licenseKey:t??"",cacheProvider:n,strictReadOnly:a});let u;if(a){const I=await s.inspectToken();if(I.status!=="authenticated")return I;u=I.token}else u=await s.getToken();if(!u)return t?{status:"refresh-required",reason:"unavailable"}:{status:"not-configured"};const m=new Ba({cacheProvider:o,licenseClient:s});return{status:"authenticated",token:u,client:s,tierClient:m}}catch{return t?{status:"refresh-required",reason:"unavailable"}:{status:"not-configured"}}}let ra=!1;function Oo(e){const t=e.errorBody?.error_code;if(typeof t=="string"&&t.trim().length>0)return t;if(e.status===429)return"RATE_LIMITED";if(e.status>=500)return"SERVER_ERROR"}const aa=3,yn=50;function No(e){return new Promise(t=>setTimeout(t,e))}function Lo(e,t,r){return e.status>=500&&e.status<=599?!0:r&&e.status===409&&t.error_code==="SIGNATURE_REPLAYED"}async function Jt(e,t,r,a,i={}){const n=Math.max(1,Math.min(i.maxAttempts??aa,aa)),o=i.sleep??No;let s=a,u=!1,m=!1,I=0;for(let w=1;w<=n;w+=1){const l=Math.max(Math.floor(Date.now()/1e3),I+1);I=l;const v=Do(t,r,s,{nowSeconds:l}),y=new AbortController,p=setTimeout(()=>y.abort(),Nr);try{const C=await fetch(`${e}${t}`,{method:"POST",headers:v.headers,body:v.body,signal:y.signal});if(i.admitResponseBeforeBodyRead&&!i.admitResponseBeforeBodyRead(C))return{response:C,text:"",parsed:{},networkFailure:!1,responseAdmissionRejected:!0};const k=await C.text().catch(()=>""),V=C.ok&&i.deferSuccessfulJsonParsing?{}:(()=>{try{return k?JSON.parse(k):{}}catch{return{}}})();if(C.status===401&&!u&&i.refreshToken&&(V.fallback_action==="refresh_token"||V.fallback_action==="re_authenticate")){u=!0;const T=await i.refreshToken();if(T&&w<n){s=T,i.onTokenChanged?.(T),await o(yn*w);continue}}if(C.status===401&&V.error_code==="SIGNATURE_EXPIRED"&&!m&&w<n){m=!0,await o(yn*w);continue}if(w<n&&Lo(C,V,i.allowReplayRetry===!0)){await o(yn*w);continue}return{response:C,text:k,parsed:V,networkFailure:!1}}catch{if(w<n){await o(yn*w);continue}return{text:"",parsed:{},networkFailure:!0}}finally{clearTimeout(p)}}return{text:"",parsed:{},networkFailure:!0}}function Do(e,t,r,a={}){const i=Buffer.from(JSON.stringify(t),"utf8"),n=ci({method:"POST",target:e,body:i,bearerToken:r,clientVersion:xt,nowSeconds:a.nowSeconds,nonceBytes:a.nonceBytes});return{body:n.body,headers:{...n.headers,Authorization:`Bearer ${r}`}}}function ia(e){return Ye("sha256").update(e).digest("hex")}function Mo(){const e=Number(process.env.NEOCORTEX_INVOKE_CHUNK_BYTES??"49152");return Number.isFinite(e)&&e>=1024&&e<=98304?Math.floor(e):49152}function jo(e,t,r){return`args-${Ye("sha256").update("invoke-materialization:v1").update(e).update(String(t)).update(JSON.stringify(r)).digest("hex")}`}async function oa(e,t,r,a,i={}){const n=await Jt(e,t,r,a,{...i,allowReplayRetry:!0});if(n.networkFailure||!n.response)throw new Error("NETWORK_ERROR: materialization request failed after bounded retries");const{response:o,parsed:s}=n;if(!o.ok){const u=typeof s.error_code=="string"?s.error_code:`HTTP_${o.status}`,m=typeof s.message=="string"?s.message:"materialization upload failed";throw new Error(`${u}: ${m}`)}return s}async function Vo(e,t,r,a){const i=Buffer.from(t,"utf8"),n=Mo(),o=[];for(let y=0,p=0;y<i.byteLength;y+=n,p++){const C=i.subarray(y,Math.min(y+n,i.byteLength));o.push({index:p,sha256:ia(C),byteLength:C.byteLength})}const s=ia(i),u=jo(s,i.byteLength,o),m=Number(process.env.NEOCORTEX_INVOKE_CHUNK_TTL_SECONDS??"900");let I=r;const w={refreshToken:a,onTokenChanged(y){I=y}};for(const y of o){const p=y.index*n,C=i.subarray(p,p+y.byteLength);await oa(e,"/api/v1/invoke/materialization/chunks",{manifestId:u,index:y.index,sha256:y.sha256,byteLength:y.byteLength,contentBase64:C.toString("base64"),ttlSeconds:m,idempotencyKey:`${u}:${y.index}:${y.sha256}`},I,w)}const v=(await oa(e,"/api/v1/invoke/materialization/manifests",{manifestId:u,sha256:s,byteLength:i.byteLength,chunkCount:o.length,chunks:o,ttlSeconds:m,retry:{attempt:1,budget:3,idempotencyKey:u}},I,w)).argsRef;if(!v?.manifestId)throw new Error("MATERIALIZATION_RESPONSE_INVALID: missing argsRef");return{argsRef:v,chunks:o}}function Bt(e){return Buffer.byteLength(JSON.stringify(e),"utf8")}function Bo(...e){const t=new Set,r=[];for(const a of e)for(const i of a??[]){const n=ee(i);if(!(!n||t.has(n))&&(t.add(n),r.push(n),r.length>=16))return r}return r}function Uo(e){const t=e.graphRetrieval;if(!h(t))return{accepted:!1,itemCount:0};const r=Array.isArray(t.items)?t.items.length:0;return{accepted:r>0||typeof t.retrievalId=="string"||t.accepted===!0,itemCount:r}}function Yn(e,t=Bt(e),r=[],a={}){const i=e.stateSnapshot.scope,n=Object.keys(e.stateSnapshot.stories).length,o=Object.keys(e.stateSnapshot.epics).length,s=i?.kind??"full";return{schemaVersion:1,payloadBytes:t,limitBytes:a.limitBytes??Dr,warningThresholdBytes:a.warningThresholdBytes??Ln,scope:{kind:s,...i?.projectionMode?{projectionMode:i.projectionMode}:{},commandId:i?.commandId??null,stateProjectionPolicy:i?.stateProjectionPolicy??null},includedStories:i?.includedStoryCount??n,omittedStories:i?.omittedStoryCount??0,includedEpics:i?.includedEpicCount??o,omittedEpics:i?.omittedEpicCount??0,graphRetrieval:Uo(e.stateSnapshot),reasonCodes:Bo(r,i?.reasonCodes),publicSafe:!0}}function $o(e){const t=h(e.budget)?e.budget:void 0,r=typeof t?.maxPayloadBytes=="number"&&Number.isFinite(t.maxPayloadBytes)?t.maxPayloadBytes:12*1024;return Math.max(1024,Math.min(r,12*1024))}function Go(e){return h(e)?{stableId:ee(e.stableId)??"unknown",...h(e.source)?{source:e.source}:{},reasonCode:"budget_exceeded"}:{stableId:"unknown",reasonCode:"budget_exceeded"}}function ca(e){const t=Array.isArray(e)?e.filter(r=>typeof r=="string"):[];return t.includes("budget_exceeded")?t:[...t,"budget_exceeded"]}function Wo(e){const t=e.graphRetrieval;if(!h(t)||!Array.isArray(t.items))return e;const r=$o(t);let a=[...t.items],i=Array.isArray(t.skipped)?[...t.skipped]:[],n=t;for(;Buffer.byteLength(JSON.stringify(n),"utf8")>r&&a.length>0;){const o=a.pop();i=[...i,Go(o)].slice(-32),n={...t,items:a,skipped:i,warnings:ca(t.warnings)}}return Buffer.byteLength(JSON.stringify(n),"utf8")>r&&(n={...t,query:typeof t.query=="string"?t.query.slice(0,240):t.query,items:[],skipped:[],warnings:ca(t.warnings)}),n===t?e:{...e,graphRetrieval:n}}function sa(e,t={}){const r=t.limitBytes??Dr,a=t.warningThresholdBytes??Math.floor(r*Mr),i=Bt(e);if(i<r)return{body:e,degraded:!1,telemetry:Yn(e,i,["payload-within-limit"],{limitBytes:r,warningThresholdBytes:a})};let n={...e,stateSnapshot:Fa(e.stateSnapshot)},o=["payload-size-guardrail","state-degraded"],s=Bt(n);s>=r&&(n={...n,stateSnapshot:Wo(n.stateSnapshot)},o=[...o,"graph-retrieval-budget-enforced"],s=Bt(n));const u=Yn(n,s,o,{limitBytes:r,warningThresholdBytes:a});if(s>=r){const m=n.stateSnapshot.scope?.projectionMode;throw m==="yolo-story"||m==="yoloop-target"||m==="yoloop-session"||m==="yoloop-discovery"||m==="structural-required"?new Un(u):new Bn(u)}return{body:n,degraded:!0,telemetry:u}}function da(e){const t=e.stateSnapshot.scope?.commandId??"resolved-command";return e.args!==void 0?t:`${t}:argsRef`}function Ho(e){const t=Bt(e);if(t<Ln)return t;const r=Yn(e,t,["payload-warning-threshold"]);return process.stderr.write(`[Neocortex] invoke payload near server limit: trigger=${da(e)} scope=${r.scope.kind} mode=${r.scope.projectionMode??r.scope.kind} payloadBytes=${r.payloadBytes} limit=${r.limitBytes} includedStories=${r.includedStories} omittedStories=${r.omittedStories} includedEpics=${r.includedEpics} omittedEpics=${r.omittedEpics} graphRetrieval.accepted=${r.graphRetrieval.accepted} graphRetrieval.itemCount=${r.graphRetrieval.itemCount} reasonCodes=${r.reasonCodes.join(",")||"none"}
7
+ `)}catch{}}}function $s(){Gn=!1}function Gr(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function fo(e){return e==="active"||e==="archived"||e==="rolled-back"||e==="synthetic"||e==="orphan"?e:void 0}const go=new Set(["goal","problem","desiredOutcome","rawIntent","context","users","surfaces","constraints","assumptions","risks","nonGoals","validationExpectations","debtRefs","repositoryEvidencePaths","journeyIds","screenIds","storybookStoryIds","backendContractIds","featureBlockerIds","remediationRefs","uiScope","remediationStory","examples","contracts"]),mo=/(?:[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}|(?:token|api[_-]?key|secret|password|credential|license[_-]?key)\s*[:=]\s*\S+|https?:\/\/(?:localhost|127\.0\.0\.1|10\.\d+\.\d+\.\d+|192\.168\.\d+\.\d+|172\.(?:1[6-9]|2\d|3[0-1])\.\d+\.\d+|[^\s/]*internal[^\s/]*)\S*|private\s+prompt|raw\s+vendor\s+corpus|sk-[A-Za-z0-9_-]{12,})/i;function yo(e,t){if(!(!h(e)||e.schemaVersion!==1||e.epicId!==t||!/^P\d+$/.test(t)))try{const r=JSON.stringify(e);if(Buffer.byteLength(r)>16384||mo.test(r))return;const a=(n,o)=>{if(Object.keys(n).some(s=>!o.includes(s)))throw new Error("planning-unknown-field")};if(a(e,["schemaVersion","epicId","intake","intakeRevision","diagnosisReceipt","researchReceipt","degradeAuthorization"]),!h(e.intake)||Object.keys(e.intake).some(n=>!go.has(n)))return;for(const[n,o]of Object.entries(e.intake))if(["examples","contracts"].includes(n)){const s=n==="examples"?["id","title","actor","given","when","then","source","coveredRequirement","expectedValidation"]:["id","kind","description","path"];if(!Array.isArray(o)||o.length>16)return;for(const u of o)if(!h(u)||(a(u,s),Object.values(u).some(g=>typeof g!="string"||g.length>256)))return}else if(Array.isArray(o)){if(o.length>32||o.some(s=>typeof s!="string"||s.length>256))return}else if(typeof o=="string"){if(o.length>(n==="rawIntent"?ja:512))return}else if(typeof o!="boolean"||!["uiScope","remediationStory"].includes(n))return;const i=["schemaVersion","kind","epicId","intakeRevision","artifactSummary","artifactDigest","predecessorReceiptId","accepted","receiptId"];for(const n of[e.diagnosisReceipt,e.researchReceipt])if(n!==void 0&&(!h(n)||(a(n,i),Object.values(n).some(o=>typeof o=="string"&&o.length>1024))))return;if(e.degradeAuthorization!==void 0){if(!h(e.degradeAuthorization))return;a(e.degradeAuthorization,["approved","intakeRevision","reasonCodes","assumptionCodes"]);for(const n of["reasonCodes","assumptionCodes"]){const o=e.degradeAuthorization[n];if(!Array.isArray(o)||o.length>32||o.some(s=>typeof s!="string"||s.length>128))return}}return JSON.parse(r)}catch{return}}function Wr(e){return e==="create-epic"||e==="discovered"?e:void 0}function $e(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&t.length>0):[]}function Eo(e){const t={};let r=!1;for(const a of["contracts","contract_refs","shared_surfaces","adr_refs","nfr_refs","acceptance_depends_on"]){if(e[a]===void 0)continue;const i=e[a];if(!Array.isArray(i)||i.length>128||i.some(n=>sn(n)===void 0)){r=!0;continue}t[a]=i.map(n=>sn(n))}if(e.planning!==void 0)try{if(!h(e.planning))throw new Error("planning-shape");const a=e.planning;for(const o of["claims","semanticArtifacts"]){if(a[o]===void 0)continue;const s=a[o];if(!Array.isArray(s)||s.length>128||s.some(u=>!h(u)||sn(u.ref)===void 0))throw new Error("planning-refs")}if(a.attempts!==void 0&&(!Array.isArray(a.attempts)||a.attempts.length>32))throw new Error("planning-attempts");for(const o of a.attempts??[]){if(!h(o)||!Array.isArray(o.reasonCodes)||o.reasonCodes.length>32||o.reasonCodes.some(s=>typeof s!="string"||!/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$/.test(s)))throw new Error("planning-attempt-reasons");if(o.discoveredClaims!==void 0&&(!Array.isArray(o.discoveredClaims)||o.discoveredClaims.length>128||o.discoveredClaims.some(s=>!h(s)||sn(s.ref)===void 0)))throw new Error("planning-attempt-claims")}const{graphRevision:i,...n}=Pi(a);t.planning=n}catch{r=!0}return r&&(t.planning={schemaVersion:1,dependencyBasis:"unknown",claims:[],semanticArtifacts:[]}),t}function h(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Et(e){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0}function ee(e){if(typeof e!="string")return;const t=e.trim();if(t)return t.replace(/[^a-z0-9_.:-]+/gi,"_").slice(0,120)}function K(e){if(typeof e!="string")return;const t=e.trim(),r=ee(e);return r===t?r:void 0}function _e(e){if(typeof e!="string")return;const t=e.trim();if(!(!t||t.length>240)&&/^[A-Za-z0-9][A-Za-z0-9._/-]*$/.test(t)&&!(t.includes("..")||t.includes("//")||t.includes("@{")||t.endsWith("/")||t.endsWith("."))&&!t.split("/").some(r=>!r||r.startsWith(".")||r.endsWith(".lock")))return t}function A(e){return typeof e=="string"&&/^[0-9a-f]{7,64}$/i.test(e)?e:void 0}function Ge(e){if(!(typeof e!="string"||e.length>64)&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$/.test(e))return Number.isFinite(Date.parse(e))?e:void 0}function It(e){if(typeof e!="string")return;const t=e.trim();if(!(!t||t.length>240||t.includes("..")))return/^[A-Za-z0-9._:/#\-[\]]+$/.test(t)?t:void 0}function hn(e){if(!h(e))return;const t=l=>typeof l=="string"&&/^[A-Za-z0-9][A-Za-z0-9._:-]{0,95}$/.test(l),r=l=>typeof l=="string"&&/^[a-f0-9]{64}$/.test(l),a=(l,v)=>Array.isArray(l)&&l.length<=v&&l.every(t)&&new Set(l).size===l.length?l:void 0,i=(l,v)=>{if(!(!h(l)||l.schemaVersion!==2||!t(l.requestId)||!t(l.stageCommand)||!r(l.requestHash)||!r(l.inputHash)||!r(l.stateHash)||!r(l.nonce)||!r(l.stageRevision)||!r(l.stageHash)||!r(l.catalogHash)||l.targetEpicId!==void 0&&!t(l.targetEpicId)||v&&(!r(l.outputHash)||!r(l.artifactHash))))return{schemaVersion:2,...l.targetEpicId?{targetEpicId:l.targetEpicId}:{},requestId:l.requestId,requestHash:l.requestHash,inputHash:l.inputHash,stateHash:l.stateHash,nonce:l.nonce,stageCommand:l.stageCommand,stageRevision:l.stageRevision,stageHash:l.stageHash,catalogHash:l.catalogHash,...v?{outputHash:l.outputHash,artifactHash:l.artifactHash}:{}}},n=(l,v)=>{if(!(!h(l)||l.schemaVersion!=="1.1"||l.kind!==v||!r(l.receiptId)||!r(l.graphHash)||!r(l.evidenceHash)||!t(l.elementId)||!t(l.caseId)||!t(l.category)))return{schemaVersion:"1.1",kind:v,receiptId:l.receiptId,graphHash:l.graphHash,elementId:l.elementId,caseId:l.caseId,category:l.category,evidenceHash:l.evidenceHash}},o=(l,v)=>{if(!h(l)||l.kind!==v||!r(l.receiptId)||!a(l.evidenceIds,24)||v==="architecture-stage-completion"&&!["succeeded","failed"].includes(String(l.status))||v==="architecture-stage-validation"&&!["passed","failed","pending"].includes(String(l.status)))return;const E=i(l,!0);if(!E)return;const p=v==="architecture-stage-validation"?n(l.isolated,"isolated"):void 0,C=v==="architecture-stage-validation"?n(l.regression,"regression"):void 0;if(!(v==="architecture-stage-validation"&&(!p||!C)))return{...E,kind:v,receiptId:l.receiptId,status:l.status,evidenceIds:l.evidenceIds,...p&&C?{isolated:p,regression:C}:{}}},s={};e.schemaVersion===1&&(s.schemaVersion=1),e.owner==="root"&&(s.owner="root"),t(e.currentStageCommand)&&(s.currentStageCommand=e.currentStageCommand),["ask-user","delegate","resume","advance","blocked","complete"].includes(String(e.continuationState))&&(s.continuationState=e.continuationState);const u=a(e.questionIds,16);if(u&&(s.questionIds=u),(e.childStatus==="succeeded"||e.childStatus==="failed")&&(s.childStatus=e.childStatus),(e.evidencePolicy==="legacy-compatible"||e.evidencePolicy==="v2-required")&&(s.evidencePolicy=e.evidencePolicy),t(e.targetEpicId)&&(s.targetEpicId=e.targetEpicId),r(e.graphRevision)&&(s.graphRevision=e.graphRevision),e.graphSource==="committed-epic-v1"&&(s.graphSource=e.graphSource),e.nonUiScopeReceipt!==void 0){const l=cr(e.nonUiScopeReceipt);if(!l||l.targetEpicId!==e.targetEpicId||l.graphRevision!==e.graphRevision||!h(e.accounting)||l.accountingId!==e.accounting.accountingId||!h(e.evidenceExpectation)||l.rootInputSha256!==e.evidenceExpectation.inputHash)throw new Error("architecture-non-ui-scope-invalid");s.nonUiScopeReceipt=l}h(e.pactAnswerReceipt)&&Object.keys(e.pactAnswerReceipt).sort().join(",")===["schemaVersion","targetEpicId","graphRevision","stateSha256","answersSha256","questionIds","publicSafe"].sort().join(",")&&e.pactAnswerReceipt.schemaVersion==="PactAnswerReceipt/1"&&e.pactAnswerReceipt.targetEpicId===e.targetEpicId&&e.pactAnswerReceipt.graphRevision===e.graphRevision&&r(e.pactAnswerReceipt.stateSha256)&&r(e.pactAnswerReceipt.answersSha256)&&I(e.pactAnswerReceipt.questionIds,["PACT-Q1-CONSUMER","PACT-Q2-PROVIDER","PACT-Q3-BROKER","PACT-Q4-MATCHERS","PACT-Q5-VERIFY"])&&e.pactAnswerReceipt.publicSafe===!0&&(s.pactAnswerReceipt=e.pactAnswerReceipt);const g=i(e.evidenceExpectation,!1);g&&(s.evidenceExpectation=g);const y=o(e.completionEvidence,"architecture-stage-completion"),w=o(e.validationEvidence,"architecture-stage-validation");if(y&&(s.completionEvidence=y),w&&(s.validationEvidence=w),h(e.reviewDecision)&&Object.keys(e.reviewDecision).sort().join(",")===["schemaVersion","targetEpicId","graphRevision","artifactHash","completionReceiptId","validationReceiptId","decision","evidenceIds","publicSafe"].sort().join(",")&&e.reviewDecision.schemaVersion==="ArchitectureReviewDecision/1"&&e.reviewDecision.targetEpicId===e.targetEpicId&&e.reviewDecision.graphRevision===e.graphRevision&&r(e.reviewDecision.graphRevision)&&r(e.reviewDecision.artifactHash)&&r(e.reviewDecision.completionReceiptId)&&r(e.reviewDecision.validationReceiptId)&&["approved","changes-requested"].includes(String(e.reviewDecision.decision))&&e.reviewDecision.publicSafe===!0){const l=a(e.reviewDecision.evidenceIds,24);l&&l.length>0&&(s.reviewDecision={...e.reviewDecision,evidenceIds:l})}if(Gt(e.terminalMemoryCheckpoint,e))s.terminalMemoryCheckpoint=e.terminalMemoryCheckpoint;else if(h(e.terminalMemoryCheckpoint)&&e.terminalMemoryCheckpoint.schemaVersion===void 0&&["passed","failed","pending"].includes(String(e.terminalMemoryCheckpoint.status))){const l=a(e.terminalMemoryCheckpoint.evidenceIds,24);l&&(s.terminalMemoryCheckpoint={status:e.terminalMemoryCheckpoint.status,evidenceIds:l})}if(Array.isArray(e.acceptedStages)&&e.acceptedStages.length<=15){const l=e.acceptedStages.map(v=>{if(!h(v)||!t(v.targetEpicId)||!t(v.stageCommand))return;const E=o(v.completionEvidence,"architecture-stage-completion"),p=o(v.validationEvidence,"architecture-stage-validation");return E&&p?{targetEpicId:v.targetEpicId,stageCommand:v.stageCommand,completionEvidence:E,validationEvidence:p}:void 0});l.every(v=>v!==void 0)&&(s.acceptedStages=l)}if(h(e.accounting)&&e.accounting.schemaVersion===1&&t(e.accounting.contractVersion)&&t(e.accounting.accountingId)&&typeof e.accounting.charged=="boolean"&&Number.isInteger(e.accounting.chargedQuotaUnits)&&typeof e.accounting.chargedQuotaUnits=="number"&&e.accounting.chargedQuotaUnits>=0&&e.accounting.chargedQuotaUnits<=13){const l=a(e.accounting.receiptIds,32);l&&(s.accounting={schemaVersion:1,contractVersion:e.accounting.contractVersion,accountingId:e.accounting.accountingId,charged:e.accounting.charged,chargedQuotaUnits:e.accounting.chargedQuotaUnits,receiptIds:l,...["in-progress","aborted","timed-out","failed","complete"].includes(String(e.accounting.lastOutcome))?{lastOutcome:e.accounting.lastOutcome}:{}})}return JSON.stringify(s).length<=96e3?s:void 0}function Io(e){const t=h(e.metadata.archPlan)?e.metadata.archPlan.execution:void 0,r=h(t)?t.checkpoint:void 0,a=h(t)?t:void 0,i=h(r)?r:void 0,n=e.requestExecution,o=Array.isArray(i?.acceptedStages)?i.acceptedStages:[],s=n.currentStageCommand==="arch-prd"&&n.continuationState==="delegate"&&n.completionEvidence===void 0&&n.validationEvidence===void 0&&i?.currentStageCommand==="arch-prd"&&i.continuationState==="delegate"&&o.length===0&&a?.nextAction==="delegate",u=n.currentStageCommand==="arch-prd"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-architecture"&&i.continuationState==="advance"&&o.length===1&&h(o[0])&&o[0].stageCommand==="arch-prd"&&I(o[0].completionEvidence,n.completionEvidence)&&I(o[0].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",g=n.currentStageCommand==="arch-architecture"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-architecture"&&i.continuationState==="delegate"&&o.length===1&&I(o,n.acceptedStages)&&a?.nextAction==="delegate",y=n.currentStageCommand==="arch-architecture"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-fitness-functions"&&i.continuationState==="advance"&&o.length===2&&h(o[0])&&h(o[1])&&o[0].stageCommand==="arch-prd"&&o[1].stageCommand==="arch-architecture"&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===1&&I(o[0],n.acceptedStages[0])&&I(o[1].completionEvidence,n.completionEvidence)&&I(o[1].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",w=n.currentStageCommand==="arch-fitness-functions"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-fitness-functions"&&i.continuationState==="delegate"&&o.length===2&&h(o[0])&&h(o[1])&&o[0].stageCommand==="arch-prd"&&o[1].stageCommand==="arch-architecture"&&I(o,n.acceptedStages)&&a?.nextAction==="delegate",l=n.currentStageCommand==="arch-fitness-functions"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-api-contracts"&&i.continuationState==="advance"&&o.length===3&&h(o[0])&&h(o[1])&&h(o[2])&&o[0].stageCommand==="arch-prd"&&o[1].stageCommand==="arch-architecture"&&o[2].stageCommand==="arch-fitness-functions"&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===2&&I(o.slice(0,2),n.acceptedStages)&&I(o[2].completionEvidence,n.completionEvidence)&&I(o[2].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",v=n.currentStageCommand==="arch-api-contracts"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-api-contracts"&&i.continuationState==="delegate"&&o.length===3&&h(o[0])&&h(o[1])&&h(o[2])&&o[0].stageCommand==="arch-prd"&&o[1].stageCommand==="arch-architecture"&&o[2].stageCommand==="arch-fitness-functions"&&I(o,n.acceptedStages)&&a?.nextAction==="delegate",E=["PACT-Q1-CONSUMER","PACT-Q2-PROVIDER","PACT-Q3-BROKER","PACT-Q4-MATCHERS","PACT-Q5-VERIFY"],p=n.currentStageCommand==="arch-api-contracts"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="generate-pacts"&&i.continuationState==="ask-user"&&o.length===4&&h(o[3])&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===3&&I(o.slice(0,3),n.acceptedStages)&&o[3].stageCommand==="arch-api-contracts"&&I(o[3].completionEvidence,n.completionEvidence)&&I(o[3].validationEvidence,n.validationEvidence)&&I(i.questionIds,E)&&I(a?.questionIds,E)&&a?.nextAction==="ask-user",C=n.currentStageCommand==="generate-pacts"&&n.continuationState==="ask-user"&&i?.currentStageCommand==="generate-pacts"&&i.continuationState==="delegate"&&o.length===4&&I(o,n.acceptedStages)&&I(n.questionIds,E)&&I(i.questionIds,[])&&I(i.pactAnswerReceipt,e.answerReceipt)&&I(a?.pactAnswerReceipt,e.answerReceipt)&&e.answerReceipt?.stateSha256===e.sourceStateSha256&&a?.nextAction==="resume",O=n.currentStageCommand==="generate-pacts"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&I(n.pactAnswerReceipt,e.pactRecordedReceipt)&&i?.currentStageCommand==="arch-api-integrations"&&i.continuationState==="advance"&&o.length===5&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===4&&I(o.slice(0,4),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts"&&h(o[4])&&I(o[4].completionEvidence,n.completionEvidence)&&I(o[4].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",V=n.currentStageCommand==="arch-api-integrations"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-api-integrations"&&i.continuationState==="delegate"&&o.length===5&&I(o,n.acceptedStages)&&a?.nextAction==="delegate",T=n.currentStageCommand==="arch-api-integrations"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-database"&&i.continuationState==="advance"&&o.length===6&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===5&&I(o.slice(0,5),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations"&&h(o[5])&&I(o[5].completionEvidence,n.completionEvidence)&&I(o[5].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",P=n.currentStageCommand==="arch-database"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-database"&&i.continuationState==="delegate"&&o.length===6&&I(o,n.acceptedStages)&&a?.nextAction==="delegate",S=n.currentStageCommand==="arch-database"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-security"&&i.continuationState==="advance"&&o.length===7&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===6&&I(o.slice(0,6),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations,arch-database"&&h(o[6])&&I(o[6].completionEvidence,n.completionEvidence)&&I(o[6].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",_=n.currentStageCommand==="arch-security"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-security"&&i.continuationState==="delegate"&&o.length===7&&I(o,n.acceptedStages)&&a?.nextAction==="delegate",Q=n.currentStageCommand==="arch-security"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-design-system"&&i.continuationState==="advance"&&o.length===8&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===7&&I(o.slice(0,7),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations,arch-database,arch-security"&&h(o[7])&&I(o[7].completionEvidence,n.completionEvidence)&&I(o[7].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",M=n.currentStageCommand==="arch-design-system"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-design-system"&&i.continuationState==="delegate"&&o.length===8&&I(o,n.acceptedStages)&&a?.nextAction==="delegate",U=n.currentStageCommand==="arch-design-system"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-ux-design"&&i.continuationState==="advance"&&o.length===9&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===8&&I(o.slice(0,8),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations,arch-database,arch-security,arch-design-system"&&h(o[8])&&I(o[8].completionEvidence,n.completionEvidence)&&I(o[8].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",N=n.currentStageCommand==="arch-ux-design"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-ux-design"&&i.continuationState==="delegate"&&o.length===9&&I(o,n.acceptedStages)&&a?.nextAction==="blocked",ie=n.currentStageCommand==="arch-ux-design"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-performance"&&i.continuationState==="advance"&&o.length===10&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===9&&I(o.slice(0,9),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations,arch-database,arch-security,arch-design-system,arch-ux-design"&&h(o[9])&&I(o[9].completionEvidence,n.completionEvidence)&&I(o[9].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",D=n.currentStageCommand==="arch-performance"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-performance"&&i.continuationState==="delegate"&&o.length===10&&I(o,n.acceptedStages)&&a?.nextAction==="delegate",$=n.currentStageCommand==="arch-performance"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-testing"&&i.continuationState==="advance"&&o.length===11&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===10&&I(o.slice(0,10),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations,arch-database,arch-security,arch-design-system,arch-ux-design,arch-performance"&&h(o[10])&&I(o[10].completionEvidence,n.completionEvidence)&&I(o[10].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",Pe=n.currentStageCommand==="arch-testing"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-testing"&&i.continuationState==="delegate"&&o.length===11&&I(o,n.acceptedStages)&&a?.nextAction==="delegate",st=n.currentStageCommand==="arch-testing"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-infrastructure"&&i.continuationState==="advance"&&o.length===12&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===11&&I(o.slice(0,11),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations,arch-database,arch-security,arch-design-system,arch-ux-design,arch-performance,arch-testing"&&h(o[11])&&I(o[11].completionEvidence,n.completionEvidence)&&I(o[11].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",X=n.currentStageCommand==="arch-infrastructure"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-infrastructure"&&i.continuationState==="delegate"&&o.length===12&&I(o,n.acceptedStages)&&a?.nextAction==="delegate",k=n.currentStageCommand==="arch-infrastructure"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="arch-review"&&i.continuationState==="advance"&&o.length===13&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===12&&I(o.slice(0,12),n.acceptedStages)&&o.map(j=>h(j)?j.stageCommand:null).join(",")==="arch-prd,arch-architecture,arch-fitness-functions,arch-api-contracts,generate-pacts,arch-api-integrations,arch-database,arch-security,arch-design-system,arch-ux-design,arch-performance,arch-testing,arch-infrastructure"&&h(o[12])&&I(o[12].completionEvidence,n.completionEvidence)&&I(o[12].validationEvidence,n.validationEvidence)&&a?.nextAction==="resume",G=n.currentStageCommand==="arch-review"&&n.continuationState==="advance"&&i?.currentStageCommand==="arch-review"&&i.continuationState==="delegate"&&o.length===13&&I(o,n.acceptedStages)&&a?.nextAction==="delegate",dt=n.currentStageCommand==="arch-review"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&n.reviewDecision===void 0&&i?.currentStageCommand==="arch-review"&&i.continuationState==="ask-user"&&o.length===13&&I(o,n.acceptedStages)&&I(i.questionIds,["ARCH-REVIEW-A09-APPROVAL"])&&I(i.completionEvidence,n.completionEvidence)&&I(i.validationEvidence,n.validationEvidence)&&a?.nextAction==="ask-user",ke=n.currentStageCommand==="arch-review"&&n.continuationState==="ask-user"&&n.childStatus==="succeeded"&&h(n.reviewDecision)&&n.reviewDecision.decision==="approved"&&I(n.questionIds,["ARCH-REVIEW-A09-APPROVAL"])&&i?.currentStageCommand==="update-memory"&&i.continuationState==="advance"&&o.length===14&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===13&&I(o.slice(0,13),n.acceptedStages)&&h(o[13])&&o[13].stageCommand==="arch-review"&&I(o[13].completionEvidence,n.completionEvidence)&&I(o[13].validationEvidence,n.validationEvidence)&&I(i.reviewDecision,n.reviewDecision)&&a?.nextAction==="resume",ve=n.currentStageCommand==="update-memory"&&n.continuationState==="advance"&&h(n.reviewDecision)&&n.reviewDecision.decision==="approved"&&i?.currentStageCommand==="update-memory"&&i.continuationState==="delegate"&&o.length===14&&I(o,n.acceptedStages)&&I(i.reviewDecision,n.reviewDecision)&&a?.nextAction==="delegate",He=n.currentStageCommand==="update-memory"&&n.continuationState==="delegate"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="update-memory"&&i.continuationState==="complete"&&o.length===15&&Array.isArray(n.acceptedStages)&&n.acceptedStages.length===14&&I(o.slice(0,14),n.acceptedStages)&&h(o[14])&&o[14].targetEpicId===n.targetEpicId&&o[14].stageCommand==="update-memory"&&I(o[14].completionEvidence,n.completionEvidence)&&I(o[14].validationEvidence,n.validationEvidence)&&I(i.reviewDecision,n.reviewDecision)&&I(i.completionEvidence,n.completionEvidence)&&I(i.validationEvidence,n.validationEvidence)&&Gt(i.terminalMemoryCheckpoint,n)!==null&&I(i.terminalMemoryCheckpoint,n.terminalMemoryCheckpoint)&&a?.nextAction==="complete",Fe=n.currentStageCommand==="update-memory"&&n.continuationState==="complete"&&n.childStatus==="succeeded"&&i?.currentStageCommand==="update-memory"&&i.continuationState==="complete"&&o.length===15&&I(o,n.acceptedStages)&&I(i.reviewDecision,n.reviewDecision)&&I(i.completionEvidence,n.completionEvidence)&&I(i.validationEvidence,n.validationEvidence)&&Gt(i.terminalMemoryCheckpoint,n)&&I(i.terminalMemoryCheckpoint,n.terminalMemoryCheckpoint)&&a?.nextAction==="complete",Z=a?Aa(n,a,Gt(n.terminalMemoryCheckpoint,n)&&I(i?.terminalMemoryCheckpoint,n.terminalMemoryCheckpoint)):void 0;if(e.metadata.mode!=="arch-plan"||e.metadata.resolvedTrigger!=="arch-plan"||!h(t)||!h(r)||t.owner!=="root"||t.currentStageCommand!==r.currentStageCommand||t.continuationState!==r.continuationState||r.owner!=="root"||r.evidencePolicy!=="v2-required"||r.targetEpicId!==n.targetEpicId||r.graphRevision!==n.graphRevision||r.graphSource!==n.graphSource||!/^P[1-9][0-9]{0,11}$/.test(String(r.targetEpicId))||!/^[a-f0-9]{64}$/.test(String(r.graphRevision))||!Array.isArray(r.acceptedStages)||!(Z||s||u||g||y||w||l||v||p||C||O||V||T||P||S||_||Q||M||U||N||ie||D||$||Pe||st||X||k||G||dt||ke||ve||He||Fe)||!h(r.accounting)||r.accounting.charged!==!0||!I(hn(r),r))throw new Error("architecture-root-checkpoint-invalid");const le=z(e.projectRoot,".neocortex"),oe=z(le,"state.json"),vt=z(le,"state.json.architecture.lock"),qe=Ft(vt,"wx",384);let Ye;try{const j=Lt(oe);if(!j.isFile()||j.isSymbolicLink())throw new Error("architecture-root-state-binding-invalid");const ce=Ue(oe,"utf8");if(Ve("sha256").update(ce).digest("hex")!==e.sourceStateSha256)throw new Error("architecture-root-state-conflict");const J=JSON.parse(ce),Oe=h(J)&&h(J.archPlan)?J.archPlan:{};if(!h(J)||!h(J.epics)||!Object.hasOwn(J.epics,r.targetEpicId)||(e.initialBinding?Oe.execution!==void 0||n.graphSource!=="committed-epic-v1":!I(hn(Oe.execution),n))||h(J.scope)&&J.scope.kind==="projected")throw new Error("architecture-root-state-binding-invalid");if(n.graphSource==="committed-epic-v1"&&n.graphRevision!==Wt(e.projectRoot,String(n.targetEpicId)))throw new Error("architecture-root-epic-binding-invalid");if(Fe||Z==="complete-replay"){const ye={...n,continuationState:"delegate",acceptedStages:n.acceptedStages.slice(0,or(n))};if(!I(n.terminalMemoryCheckpoint,xn(e.projectRoot,ye)))throw new Error("architecture-root-state-conflict");return}const se=nn(),Ct=Be("git",["rev-parse","--git-common-dir"],{cwd:e.projectRoot,encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim(),Ke=Oa(Ct)?Pn(Ct):Pn(e.projectRoot,Ct);if(ka(Ke)!==Ke)throw new Error("architecture-root-backup-dir-invalid");const me=z(Ke,"neocortex-architecture");Ht(me,{recursive:!0,mode:448});const Y=Lt(me);if(!Y.isDirectory()||Y.isSymbolicLink()||Y.uid!==process.getuid?.()||(Y.mode&63)!==0)throw new Error("architecture-root-backup-dir-invalid");const vn=z(me,`state-backup-${se}.json`),x=Ft(vn,"wx",384);try{rn(x,ce),an(x)}finally{qt(x)}const wt=Ft(me,"r");try{an(wt)}finally{qt(wt)}const f={...J,archPlan:{...Oe,execution:r}};Ye=z(le,`state.json.architecture-tmp-${se}`);const pt=Ft(Ye,"wx",384);try{rn(pt,`${JSON.stringify(f,null,2)}
8
+ `),an(pt)}finally{qt(pt)}if((He||Z==="complete")&&!I(n.terminalMemoryCheckpoint,xn(e.projectRoot,n)))throw new Error("architecture-root-state-conflict");if(n.graphSource==="committed-epic-v1"&&n.graphRevision!==Wt(e.projectRoot,String(n.targetEpicId)))throw new Error("architecture-root-epic-binding-invalid");dr(Ye,oe),Ye=void 0;const $t=Ft(le,"r");try{an($t)}finally{qt($t)}}finally{if(Ye)try{Tn(Ye)}catch{}qt(qe),Tn(vt)}}function fn(e,t){if(!h(e))return;const r={};for(const a of t){const i=e[a];if(typeof i=="boolean")r[a]=i;else if(typeof i=="number"&&Number.isFinite(i))r[a]=i;else if(typeof i=="string"){const n=ee(i);n&&(r[a]=n)}}return Object.keys(r).length>0?r:void 0}function gn(e){return e==="epic"||e==="story"?e:void 0}function Hr(e){if(!h(e)||e.schemaVersion!==1)return;const t=K(e.ownerStoryId),r=K(e.sessionId),a=K(e.idempotencyKey),i=Ge(e.acquiredAt),n=Ge(e.expiresAt);if(!(!t||!r||!a||!i||!n||Date.parse(n)<=Date.parse(i)))return{schemaVersion:1,ownerStoryId:t,sessionId:r,idempotencyKey:a,acquiredAt:i,expiresAt:n}}function Fr(e){if(!h(e)||e.schemaVersion!==1)return;const t=K(e.storyId),r=K(e.epicId),a=_e(e.branch),i=A(e.baseSha),n=A(e.headSha),o=K(e.idempotencyKey),s=Ge(e.recordedAt),u=$e(e.commits).map(A).filter(V=>!!V).slice(0,256),g=$e(e.receiptRefs).map(It).filter(V=>!!V).slice(0,256),y=e.dispatchId===void 0?void 0:K(e.dispatchId),w=e.bundleId===void 0?void 0:K(e.bundleId),l=e.bundleDigest===void 0?void 0:A(e.bundleDigest),v=e.graphRevision===void 0?void 0:A(e.graphRevision),E=e.claimRevision===void 0?void 0:K(e.claimRevision),p=So(e.qaReceipt),C=vo(e.reviewReceipt),O=e.rootMemoryEffect===void 0?void 0:Vi(e.rootMemoryEffect)?e.rootMemoryEffect:void 0;if(!(!t||!r||!t.startsWith(`${r}.`)||!a||!i||!n||i===n||!o||!s||u.length===0||g.length===0||!Array.isArray(e.commits)||u.length!==e.commits.length||e.commits.length>256||!Array.isArray(e.receiptRefs)||g.length!==e.receiptRefs.length||e.receiptRefs.length>256||e.dispatchId!==void 0&&!y||e.bundleId!==void 0&&!w||e.bundleDigest!==void 0&&(!l||l.length!==64)||e.graphRevision!==void 0&&(!v||v.length!==64)||e.claimRevision!==void 0&&!E||e.rootMemoryEffect!==void 0&&(!O||O.storyId!==t||O.epicId!==r||O.executionBranch!==a||O.sourceHeadSha!==i||O.childClaimRevision!==E)||e.qaVerdict!=="passed"&&e.qaVerdict!=="blocked"||!["approved","changes-requested","pending"].includes(String(e.reviewVerdict))||!p||e.reviewVerdict!=="pending"&&!C||e.reviewVerdict==="pending"&&C||p.verdict!==e.qaVerdict||C&&C.verdict!==e.reviewVerdict||!Jr(p,{storyId:t,epicId:r,baseSha:i,headSha:n,bundleDigest:l,graphRevision:v})||C&&(!Jr(C,{storyId:t,epicId:r,baseSha:i,headSha:n,bundleDigest:l,graphRevision:v})||C.qaReceiptRef!==p?.receiptRef||C.receiptRef===p?.receiptRef)||!g.includes(String(p.receiptRef))||C&&(!g.includes(String(C.receiptRef))||Date.parse(String(C.reviewedAt))<Date.parse(String(p.checkedAt)))))return{schemaVersion:1,storyId:t,epicId:r,branch:a,baseSha:i,headSha:n,idempotencyKey:o,...y?{dispatchId:y}:{},...w?{bundleId:w}:{},...l?{bundleDigest:l}:{},...v?{graphRevision:v}:{},...E?{claimRevision:E}:{},...O?{rootMemoryEffect:structuredClone(O)}:{},qaVerdict:e.qaVerdict,reviewVerdict:e.reviewVerdict,...p?{qaReceipt:p}:{},...C?{reviewReceipt:C}:{},recordedAt:s,commits:u,receiptRefs:g}}function So(e){if(!h(e)||e.schemaVersion!==1||e.kind!=="story_qa_evidence"||e.producer!=="local-yolo-tdd"||e.evidenceVersion!==void 0&&e.evidenceVersion!=="git-immutable-v1"&&e.evidenceVersion!=="p205-execution-v2"||!["passed","blocked"].includes(String(e.verdict)))return;const t=K(e.storyId),r=K(e.epicId),a=A(e.baseSha),i=A(e.headSha),n=A(e.bundleDigest),o=A(e.graphRevision),s=A(e.sourceEvidenceDigest),u=Ge(e.checkedAt),g=It(e.receiptRef),y=e.evidenceVersion==="p205-execution-v2"&&e.contract==="P205-CI-02"?e.contract:void 0,w=e.evidenceVersion==="p205-execution-v2"&&e.command==="node scripts/test-root.mjs --gate complete"?e.command:void 0,l=e.evidenceVersion==="p205-execution-v2"?A(e.manifestDigest):void 0,v=e.evidenceVersion==="p205-execution-v2"?A(e.resultDigest):void 0,E=e.evidenceVersion==="p205-execution-v2"?$e(e.gateIds).map(K).filter(p=>!!p).slice(0,64):void 0;if(!(!t||!r||!a||!i||!n||n.length!==64||!o||o.length!==64||!s||s.length!==64||!u||!g||e.evidenceVersion==="p205-execution-v2"&&(!y||w!=="node scripts/test-root.mjs --gate complete"||!l||l.length!==64||!v||v.length!==64||!Array.isArray(e.gateIds)||!E||E.length===0||E.length!==e.gateIds.length)))return{schemaVersion:1,kind:"story_qa_evidence",producer:"local-yolo-tdd",...e.evidenceVersion?{evidenceVersion:e.evidenceVersion}:{},storyId:t,epicId:r,...e.evidenceVersion==="p205-execution-v2"?{contract:y,command:w,manifestDigest:l,gateIds:E,resultDigest:v}:{},baseSha:a,headSha:i,bundleDigest:n,graphRevision:o,sourceEvidenceDigest:s,verdict:e.verdict,checkedAt:u,receiptRef:g}}function qr(e){if(!h(e)||e.schemaVersion!==1||e.kind!=="story_checkpoint_physical_verification"||e.producer!=="client-p205-transient-v1"||e.publicSafe!==!0||e.verdict!=="verified"&&e.verdict!=="rejected")return;const t=K(e.storyId),r=K(e.epicId),a=_e(e.branch),i=A(e.baseSha),n=A(e.headSha),o=A(e.aggregateHeadSha),s=A(e.commitBodyDigest),u=A(e.changedPathsDigest),g=e.claimVerification==="canonical"||e.claimVerification==="legacy-migration"?e.claimVerification:void 0,y=A(e.effectiveClaimRevision),w=e.command==="node scripts/test-root.mjs --gate complete"?e.command:void 0,l=A(e.manifestDigest),v=$e(e.gateIds).map(K).filter(P=>!!P).slice(0,64),E=A(e.resultDigest),p=A(e.graphRevision),C=A(e.executionEvidenceDigest),O=A(e.sourceEvidenceDigest),V=Ge(e.verifiedAt),T=$e(e.reasonCodes).map(K).filter(P=>!!P).slice(0,16);if(!(!t||!r||!a||!i||i.length<40||!n||n.length<40||!o||o.length<40||!s||s.length!==64||!u||u.length!==64||!g||!y||y.length!==64||!w||!l||l.length!==64||!Array.isArray(e.gateIds)||v.length!==e.gateIds.length||!E||E.length!==64||!p||p.length!==64||!C||C.length!==64||!O||O.length!==64||!V||T.length===0||e.verdict==="verified"&&(v.length===0||!T.includes("checkpoint-p205-transient-verified"))))return{schemaVersion:1,kind:"story_checkpoint_physical_verification",producer:"client-p205-transient-v1",storyId:t,epicId:r,branch:a,baseSha:i,headSha:n,aggregateHeadSha:o,commitBodyDigest:s,changedPathsDigest:u,claimVerification:g,effectiveClaimRevision:y,command:w,manifestDigest:l,gateIds:v,resultDigest:E,graphRevision:p,executionEvidenceDigest:C,sourceEvidenceDigest:O,verifiedAt:V,verdict:e.verdict,reasonCodes:T,publicSafe:!0}}function Yr(e){const t=["schemaVersion","kind","producer","storyId","epicId","branch","baseSha","headSha","graphRevision","effectiveClaimRevision","sourceEvidenceDigest","verifiedAt","reasonCodes","integrationAuthorized","publicSafe"];if(!h(e)||Object.keys(e).some(l=>!t.includes(l))||e.schemaVersion!==1||e.kind!=="story_scheduling_checkpoint_evidence"||e.producer!=="client-git-physical-v1"||e.integrationAuthorized!==!1||e.publicSafe!==!0)return;const r=K(e.storyId),a=K(e.epicId),i=_e(e.branch),n=A(e.baseSha),o=A(e.headSha),s=A(e.graphRevision),u=A(e.effectiveClaimRevision),g=A(e.sourceEvidenceDigest),y=Ge(e.verifiedAt),w=$e(e.reasonCodes).map(K).filter(l=>!!l);if(!(!r||!a||!i||!n||n.length<40||!o||o.length<40||!s||s.length!==64||!u||u.length!==64||!g||g.length!==64||!y||!Array.isArray(e.reasonCodes)||w.length!==1||w[0]!=="checkpoint-git-scheduling-verified"))return{schemaVersion:1,kind:"story_scheduling_checkpoint_evidence",producer:"client-git-physical-v1",storyId:r,epicId:a,branch:i,baseSha:n,headSha:o,graphRevision:s,effectiveClaimRevision:u,sourceEvidenceDigest:g,verifiedAt:y,reasonCodes:w,integrationAuthorized:!1,publicSafe:!0}}function vo(e){if(!h(e)||e.schemaVersion!==1||e.kind!=="story_review_evidence"||e.producer!=="root-commit-range-review"||!["approved","changes-requested"].includes(String(e.verdict)))return;const t=K(e.storyId),r=K(e.epicId),a=A(e.baseSha),i=A(e.headSha),n=A(e.bundleDigest),o=A(e.graphRevision),s=A(e.sourceEvidenceDigest),u=It(e.qaReceiptRef),g=Ge(e.reviewedAt),y=It(e.receiptRef);if(!(!t||!r||!a||!i||!n||n.length!==64||!o||o.length!==64||!s||s.length!==64||!u||!g||!y))return{schemaVersion:1,kind:"story_review_evidence",producer:"root-commit-range-review",storyId:t,epicId:r,baseSha:a,headSha:i,bundleDigest:n,graphRevision:o,sourceEvidenceDigest:s,qaReceiptRef:u,verdict:e.verdict,reviewedAt:g,receiptRef:y}}function Jr(e,t){return["storyId","epicId","baseSha","headSha","bundleDigest","graphRevision"].every(r=>e[r]===t[r])}function zr(e){if(!h(e)||e.schemaVersion!==1||e.capturedFromCurrentCheckout!==!0)return;const t=_e(e.originBranch),r=A(e.originHeadSha),a=_e(e.executionBranch),i=Ge(e.capturedAt);if(!(!t||!r||r.length<40||!a||!i||t===a))return{schemaVersion:1,originBranch:t,originHeadSha:r,executionBranch:a,capturedFromCurrentCheckout:!0,capturedAt:i}}function Kr(e){if(!h(e)||e.schemaVersion!==1||e.verdict!=="passed")return;const t=A(e.executionHeadSha),r=A(e.graphRevision),a=Ge(e.checkedAt),i=It(e.receiptRef),n=$e(e.gateIds).map(K).filter(y=>!!y).slice(0,128),o=e.evidenceVersion==="p205-execution-v2"&&e.producer==="local-yolo-tdd"&&e.contract==="P205-CI-02"&&e.command==="node scripts/test-root.mjs --gate complete",s=e.evidenceVersion===void 0&&e.producer===void 0&&e.contract===void 0&&e.command===void 0&&e.manifestDigest===void 0&&e.resultDigest===void 0,u=o?A(e.manifestDigest):void 0,g=o?A(e.resultDigest):void 0;if(!(!t||t.length<40||!r||r.length!==64||!a||!i||n.length===0||!Array.isArray(e.gateIds)||n.length!==e.gateIds.length||e.gateIds.length>128||!s&&!o||o&&(!u||u.length!==64||!g||g.length!==64)))return{schemaVersion:1,...o?{evidenceVersion:"p205-execution-v2",producer:"local-yolo-tdd",contract:"P205-CI-02",command:"node scripts/test-root.mjs --gate complete",manifestDigest:u,resultDigest:g}:{},verdict:"passed",executionHeadSha:t,graphRevision:r,checkedAt:a,receiptRef:i,gateIds:n}}function Wn(e){if(!h(e)||e.schemaVersion!==1)return;const t=fn(e,["schemaVersion","kind","storyId","epicId","baseSha","headSha","originalBaseSha","originalHeadSha","gitPullRequest","preservesLaterCommits","historyRewrite","recordedAt"])??{},r=$e(e.receiptRefs).map(It).filter(i=>!!i).slice(0,256),a=$e(e.revertCommits).map(ee).filter(i=>!!i).slice(0,256);return{...t,...r.length?{receiptRefs:r}:{},...a.length?{revertCommits:a}:{}}}function Co(e){if(!(!h(e)||Object.keys(e).sort().join(",")!=="gitPullRequest,headSha,kind,prNumber,reviewEvidenceDigest,schemaVersion"||e.schemaVersion!==1||e.kind!=="git-pull-request"||e.gitPullRequest!==!0||!Number.isSafeInteger(e.prNumber)||Number(e.prNumber)<=0||typeof e.headSha!="string"||!/^[a-f0-9]{40}$/.test(e.headSha)||typeof e.reviewEvidenceDigest!="string"||!/^[a-f0-9]{64}$/.test(e.reviewEvidenceDigest)))return{schemaVersion:1,kind:"git-pull-request",gitPullRequest:!0,prNumber:e.prNumber,headSha:e.headSha,reviewEvidenceDigest:e.reviewEvidenceDigest}}function Qr(e){if(!h(e)||e.schemaVersion!==1||e.publicSafe!==!0)return;const t=K(e.epicId),r=_e(e.executionBranch),a=_e(e.originBranch),i=A(e.baseSha),n=A(e.executionHeadSha),o=e.mergeSha===void 0?void 0:A(e.mergeSha),s=e.pushedSha===void 0?void 0:A(e.pushedSha),u=K(e.idempotencyKey),g=Ge(e.attemptStartedAt),y=e.completedAt===void 0?void 0:Ge(e.completedAt),w=$e(e.localGateReceiptRefs).map(It).filter(p=>!!p).slice(0,256),l=$e(e.reasonCodes).map(K).filter(p=>!!p).slice(0,64),v=_o(e.candidateQa),E=wo(e.providerGuard);if(!(!t||!r||!a||!i||!n||!u||!g||w.length===0||l.length===0||!["direct","single_pr"].includes(String(e.strategy))||!["prepared","merged","pushed","denied_external_gate","blocked_local_or_repo"].includes(String(e.physicalStatus))||typeof e.retryEligible!="boolean"||e.providerGuard!==void 0&&!E||E&&(e.strategy!=="single_pr"||e.physicalStatus!=="pushed"||E.prHeadSha!==o||E.originHeadSha!==i)))return{schemaVersion:1,epicId:t,executionBranch:r,originBranch:a,baseSha:i,executionHeadSha:n,...o?{mergeSha:o}:{},...s?{pushedSha:s}:{},strategy:e.strategy,...Et(e.prNumber)?{prNumber:Et(e.prNumber)}:{},physicalStatus:e.physicalStatus,localGateReceiptRefs:w,idempotencyKey:u,attemptStartedAt:g,...v?{candidateQa:v}:{},...E?{providerGuard:E}:{},...y?{completedAt:y}:{},retryEligible:e.retryEligible,reasonCodes:l,publicSafe:!0}}function wo(e){if(!h(e)||e.schemaVersion!==1||e.provider!=="github"||e.publicSafe!==!0)return;const t=String(e.mode),r=String(e.source),a=t==="recovered_exact_tree"?r==="physical_recovery":t==="strict_up_to_date_expected_head"&&["branch_protection","ruleset","branch_protection_and_ruleset"].includes(r),i=A(e.prHeadSha),n=A(e.originHeadSha),o=Ge(e.checkedAt);if(!(!a||!i||!n||!o))return{schemaVersion:1,provider:"github",mode:t,source:r,prHeadSha:i,originHeadSha:n,checkedAt:o,publicSafe:!0}}function _o(e){if(!h(e)||e.schemaVersion!==1||e.kind!=="epic_merge_candidate_qa"||e.contract!=="P205-CI-02"||e.command!==Di)return;const r=Object.fromEntries(["originHeadSha","executionHeadSha","mergeSha","treeSha","graphRevision","manifestDigest","resultDigest"].map(o=>[o,A(e[o])])),a=Ge(e.checkedAt),i=It(e.receiptRef),n=$e(e.gateIds).filter(o=>/^[a-z0-9-]+$/.test(o)).slice(0,128);if(!(Object.values(r).some(o=>!o)||!a||!i||n.length===0))return{schemaVersion:1,kind:e.kind,contract:e.contract,command:e.command,...r,checkedAt:a,receiptRef:i,gateIds:n}}function Ro(e){if(!h(e))return;const t={...ee(e.active_epic_id??e.activeEpicId)?{active_epic_id:ee(e.active_epic_id??e.activeEpicId)}:{},...ee(e.active_story_id??e.activeStoryId)?{active_story_id:ee(e.active_story_id??e.activeStoryId)}:{},...ee(e.active_step_id??e.activeStepId)?{active_step_id:ee(e.active_step_id??e.activeStepId)}:{},...ee(e.session_id??e.sessionId)?{session_id:ee(e.session_id??e.sessionId)}:{},...ee(e.started_at??e.startedAt)?{started_at:ee(e.started_at??e.startedAt)}:{}};return Object.keys(t).length>0?t:void 0}function Ao(e){const t=fn(e.completionEvidence??e.completion_evidence,["prNumber","pr_number","prState","pr_state","pullRequestState","merged","mergedAt","issueNumber","issue_number","issueState","issue_state","closedAt"]),r=fn(e.issueCloseAudit??e.issue_close_audit,["schema_version","event","storyId","epicId","issueNumber","closedAt","publicSafe","rawLogStorage"]),a=fn(e.scopedCiEvidence??e.scoped_ci_evidence,["schema_version","storyId","epicId","prNumber","finalState","publicSafe","rawLogStorage"]);return{...typeof e.merged=="boolean"?{merged:e.merged}:{},...typeof e.safeToContinueYoloop=="boolean"?{safeToContinueYoloop:e.safeToContinueYoloop}:{},...typeof e.mergeBlockedRemotely=="boolean"?{mergeBlockedRemotely:e.mergeBlockedRemotely}:{},...ee(e.physicalMergeStatus)?{physicalMergeStatus:ee(e.physicalMergeStatus)}:{},...ee(e.pr_state??e.prState??e.pull_request_state??e.pullRequestState)?{pr_state:ee(e.pr_state??e.prState??e.pull_request_state??e.pullRequestState)}:{},...ee(e.issue_state??e.issueState??e.workflow_issue_state)?{issue_state:ee(e.issue_state??e.issueState??e.workflow_issue_state)}:{},...Et(e.issue_number??e.issueNumber)?{issue_number:Et(e.issue_number??e.issueNumber)}:{},...t?{completionEvidence:t}:{},...r?{issueCloseAudit:r}:{},...a?{scopedCiEvidence:a}:{}}}class it extends Error{reasonCode;constructor(t){super(t),this.name="StateSnapshotIntegrityError",this.reasonCode=t}}const bo=new Set(["yolo","yoloop","finalize-epic","audit"]);function Xr(e){return typeof e=="string"&&bo.has(e)}function Hn(e,t={}){const r=z(e,".neocortex","state.json");if(!Nt(r))throw new it("git-lifecycle-state-missing");let a;try{a=JSON.parse(Ue(r,"utf8"))}catch{throw new it("git-lifecycle-state-corrupt")}if(!h(a)||!h(a.epics)||!h(a.stories))throw new it("git-lifecycle-state-shape-invalid");const i=Object.values(a.epics).some(n=>h(n)&&(n.branch_mode==="epic"||_e(n.execution_branch)!==void 0));if(i)try{dn(e,{required:!0})}catch(n){const o=n instanceof Error&&/^git-lifecycle-/.test(n.message)?n.message:"git-lifecycle-runtime-invalid";if(t.allowMissingRuntime&&o==="git-lifecycle-runtime-missing")return{lifecycleDeclared:!0,runtimeMissing:!0};throw new it(o)}return{lifecycleDeclared:i,runtimeMissing:!1}}function mn(e,t={}){const r=z(e,".neocortex","state.json");if(!Nt(r)){if(t.epicAware&&!t.projectless)throw new it("git-lifecycle-state-missing");return{config:{project_name:"unknown",default_branch:"main",language:"pt-BR"},stories:{},epics:{}}}let a,i;try{const E=Ue(r,"utf-8");i=Ve("sha256").update(E).digest("hex");const p=JSON.parse(E),C=h(p.epics)?p.epics:{},O=Object.values(C).some(_=>h(_)&&(_.branch_mode==="epic"||_e(_.execution_branch)!==void 0)),V=dn(e,{required:!!(t.epicAware&&O&&!t.projectless)});a=xr(p,V);const T=h(a.stories)?a.stories:{},P=h(a.epics)?a.epics:{},S=h(p.stories)?p.stories:{};for(const[_,Q]of Object.entries(T)){const M=h(Q)?Q:void 0;if(!M?.checkpoint)continue;const U=typeof M.epic_id=="string"?M.epic_id:_.split(".")[0],N=h(P[U])?P[U]:void 0,ie=_e(N?.execution_branch);if(!ie)continue;const D=ki(e,M.checkpoint,_,U,ie,t.p205Authorities?.[_],Tr(_,M,h(M.checkpoint)?M.checkpoint:void 0));if(D.kind==="integration-authorized")M.checkpoint_verification=D.verification,delete M.scheduling_checkpoint_evidence;else if(D.kind==="scheduling-only")M.scheduling_checkpoint_evidence=D.evidence,delete M.checkpoint,delete M.checkpoint_verification;else if(D.kind==="rejected"){M.checkpoint_verification=D.verification,delete M.scheduling_checkpoint_evidence;const $=h(S[_])?S[_]:void 0;if(delete M.checkpoint,V.stories[_]?.checkpoint!==void 0)for(const Pe of["status","last_step","steps_completed"])$&&Object.prototype.hasOwnProperty.call($,Pe)?M[Pe]=structuredClone($[Pe]):delete M[Pe];["done","completed","merged"].includes(String(M.status).toLowerCase())&&(M.status="blocked")}}}catch(E){if(t.epicAware&&!t.projectless){const p=E instanceof Error&&/^git-lifecycle-/.test(E.message)?E.message:"git-lifecycle-state-corrupt";throw new it(p)}return{config:{project_name:"unknown",default_branch:"main",language:"pt-BR"},stories:{},epics:{}}}try{const E=lo(a);E.length>0&&ho(E)}catch{}const n=a.config??a.project??{},o=a.stories??{},s={};for(const[E,p]of Object.entries(o)){const C=h(p.review_request)&&p.review_request.kind==="git-pull-request"?Co(p.review_request):Wn(p.review_request);s[E]={id:p.id??E,title:p.title,epic_id:p.epic_id,status:p.status??"backlog",...Wr(p.source)?{source:Wr(p.source)}:{},steps_completed:p.steps_completed??[],last_step:p.last_step??null,branch_name:p.branch_name??null,pr_number:p.pr_number,...gn(p.branch_mode)?{branch_mode:gn(p.branch_mode)}:{},...Fr(p.checkpoint)?{checkpoint:Fr(p.checkpoint)}:{},...qr(p.checkpoint_verification)?{checkpoint_verification:qr(p.checkpoint_verification)}:{},...Yr(p.scheduling_checkpoint_evidence)?{scheduling_checkpoint_evidence:Yr(p.scheduling_checkpoint_evidence)}:{},...C?{review_request:C}:{},...Wn(p.rollback_receipt)?{rollback_receipt:Wn(p.rollback_receipt)}:{},...Et(p.workflow_issue)?{workflow_issue:Et(p.workflow_issue)}:{},...Ao(p),depends_on:Gr(p.depends_on),files_to_modify:$e(p.files_to_modify),...Eo(p),risk:typeof p.risk=="string"?p.risk:void 0,blast_radius:typeof p.blast_radius=="number"?p.blast_radius:void 0}}const u=a.epics??{},g={};for(const[E,p]of Object.entries(u)){const C=fo(p.lifecycle_classification),O=yo(p.createEpicPlanning,E);let V,T,P,S;if(O&&h(p.createEpicPlanningClaim)&&typeof p.createEpicPlanningClaim.claimId=="string"&&h(p.createEpicPlanningPhysical))try{pr(a,p.createEpicPlanningClaim.claimId,E,!0),V=JSON.parse(JSON.stringify(p.createEpicPlanningPhysical))}catch{}if(V&&h(p.createEpicPlanningClaim)&&typeof p.createEpicPlanningClaim.claimId=="string"&&h(p.createEpicPlanningResearchPhysical))try{ur(a,p.createEpicPlanningClaim.claimId,E),T=JSON.parse(JSON.stringify(p.createEpicPlanningResearchPhysical))}catch{}if(t.verifyPlanningGeneration&&O&&p.status==="generated"&&h(p.createEpicPlanningClaim)&&typeof p.createEpicPlanningClaim.claimId=="string"&&h(p.createEpicPlanningGenerationPhysical))try{if(Ma(e,p.createEpicPlanningClaim.claimId,E).stateSha256!==i)throw new Error("planning-generation-snapshot-raced");P=JSON.parse(JSON.stringify(p.createEpicPlanningGenerationPhysical)),V=JSON.parse(JSON.stringify(p.createEpicPlanningPhysical)),T=JSON.parse(JSON.stringify(p.createEpicPlanningResearchPhysical))}catch{}if(P&&h(p.createEpicPlanningClaim)&&typeof p.createEpicPlanningClaim.claimId=="string")try{const _=lr(e,p.createEpicPlanningClaim.claimId,E);if(_.stateSha256!==i)throw new Error("planning-memory-snapshot-raced");S=JSON.parse(JSON.stringify(_))}catch{}g[E]={id:p.id??E,title:p.title,...O?{createEpicPlanning:O}:{},...V?{createEpicPlanningPhysical:V}:{},...T?{createEpicPlanningResearchPhysical:T}:{},...P?{createEpicPlanningGenerationPhysical:P}:{},...S?{createEpicPlanningMemoryPhysical:S}:{},status:p.status,stories:p.stories,total_stories:p.total_stories,completed_stories:p.completed_stories,depends_on:Gr(p.depends_on),...gn(p.branch_mode)?{branch_mode:gn(p.branch_mode)}:{},..._e(p.execution_branch)?{execution_branch:_e(p.execution_branch)}:{},..._e(p.origin_branch)?{origin_branch:_e(p.origin_branch)}:{},...Hr(p.branch_lease)?{branch_lease:Hr(p.branch_lease)}:{},...zr(p.origin_binding)?{origin_binding:zr(p.origin_binding)}:{},...Kr(p.aggregate_qa_receipt)?{aggregate_qa_receipt:Kr(p.aggregate_qa_receipt)}:{},...Et(p.pr_number)?{pr_number:Et(p.pr_number)}:{},...ee(p.physicalMergeStatus)?{physicalMergeStatus:ee(p.physicalMergeStatus)}:{},...A(p.graph_revision)?{graph_revision:A(p.graph_revision)}:{},...Qr(p.terminal_git_receipt)?{terminal_git_receipt:Qr(p.terminal_git_receipt)}:{},...C?{lifecycle_classification:C}:{}}}const y=Ro(a.current_session??a.currentSession),w=h(a.archPlan)?hn(a.archPlan.execution):void 0,l=a.epic_id_ledger,v=Array.isArray(l?.reserved_ids)?[...new Set(l.reserved_ids.filter(E=>typeof E=="string"&&/^P\d+$/.test(E)))].slice(0,2048):[];return{schema_version:typeof a.schema_version=="number"?a.schema_version:void 0,config:{project_name:n.project_name??n.name??"unknown",default_branch:n.default_branch??"main",language:n.language??"pt-BR",yolo_mode:n.yolo_mode,user_name:n.user_name,worktree_base:n.worktree_base,max_parallel_stories:n.max_parallel_stories,project_id:typeof n.project_id=="string"?n.project_id:void 0},stories:s,epics:g,...v.length>0?{epic_id_ledger:{schema_version:1,reserved_ids:v}}:{},...y?{current_session:y}:{},...w?{archPlan:{execution:w}}:{}}}const Fn=[["P222.01","fbc3176b33687b13a8fadf8c7ea7cc06b6b6c500"],["P222.02","c7d3feb9a168f9e15b35516a972c767f3aa357da"],["P222.03","4d9bd4f2a1a3a1dc6399c572eb84b8b74c017806"],["P222.04","66590ef2f706c9d036f42edf5e517b237724f74f"],["P222.05","3ee2662538311e9788796340ed11b65864a8d8d5"],["P222.06","8660d07e3f68503a9ceb24dc138d24f62ab6cb45"],["P222.07","d99c80feacee8ea4033aa3322990147fffa2df91"],["P222.08","1f9e37dc922d87908efefb9595db32d32db30b00"],["P222.09","5ae12e485900992658e346cf3e38568fda1c2eeb"],["P222.10","6c5b8dc4f03d629fea4b62a33f4794af8e27e4f0"],["P222.11","cfe90f2f955c0027c57e4c621141d17912db65cc"],["P222.12","65f253c5cb600a8ee1dd94a1efdfef2fa5cd1629"],["P222.13","1e78c75b393515803a55d1a9b63a7fec23f710c9"],["P222.14","3f3e0bfd247a8581170df2a23c89497b5ae3641e"],["P222.15","1fd6dd25fffa5714d4ffa8b4303735e417f93de6"]],qn="6a41a47ff2521f80c2296ed811b0f0b304c54750",Yn="dbc6d4670b2b7868a01973b1240e24589f1c5b7d",Zr="30dccfff07f9c969be11ae1d28e62a09731a0768";function xo(e,t){try{const r=t.indexOf(Zr);if(r<1||t[r-1]!==qn)return new Map;const a=Be("git",["show","--no-patch","--format=%P",Zr],{cwd:e,encoding:"utf8",maxBuffer:1024}).trim(),i=Be("git",["show","--no-patch","--format=%P",Yn],{cwd:e,encoding:"utf8",maxBuffer:1024}).trim();if(a!==`${qn} ${Yn}`||i!==`${Fn.at(-1)[1]} ${qn}`)return new Map;const n=Be("git",["rev-list","--first-parent","--reverse",Yn],{cwd:e,encoding:"utf8",maxBuffer:32*1024*1024}).trim().split(`
9
+ `),o=new Map;let s=-1;for(const[u,[g,y]]of Fn.entries()){const w=n.indexOf(y);if(w<=s)return new Map;s=w,o.set(g,{headSha:y,position:u-Fn.length})}return o}catch{return new Map}}async function To(e,t,r){if(!Xr(r))return{};if(Er(t,r))return{};try{const a=JSON.parse(Ue(z(e,".neocortex","state.json"),"utf8")),i=dn(e,{required:!0}),n=xr(a,i),o=h(n.stories)?n.stories:{},s=h(n.epics)?n.epics:{},u=Be("git",["rev-parse","HEAD"],{cwd:e,encoding:"utf8"}).trim(),g=Be("git",["symbolic-ref","--quiet","--short","HEAD"],{cwd:e,encoding:"utf8"}).trim(),y=Be("git",["rev-list","--first-parent","--reverse",u],{cwd:e,encoding:"utf8",maxBuffer:32*1024*1024}).trim().split(`
10
+ `).filter(Boolean),w=new Map(y.map((S,_)=>[S,_])),l=xo(e,y),v=t.match(/(?:^|\s)@?docs\/stories\/([A-Za-z][A-Za-z0-9._-]*)\.story\.md(?:\s|$)/)?.[1],E=r==="yoloop"?t.match(/(?:^|[\s/@])epic-(P[1-9][0-9]*)\.md(?:\s|$)/i)?.[1]?.toUpperCase():void 0,p=new Set,C=Object.entries(o).flatMap(([S,_])=>{if(v&&S!==v)return[];const Q=h(_)?_:void 0,M=h(Q?.checkpoint)?Q.checkpoint:void 0;if(!M)return[];const U=typeof Q?.epic_id=="string"?Q.epic_id:S.split(".")[0];if(E&&U!==E)return[];const N=A(M?.headSha),ie=U==="P222"?l.get(S):void 0,D=w.get(N??"")??(ie&&ie.headSha===N?ie.position:void 0);if(!N||N.length<40||D===void 0)return p.add(U),[];const $=h(s[U])?s[U]:void 0;if($?.branch_mode!=="epic"||_e($.execution_branch)!==g||_e(M.branch)!==g)return p.add(U),[];const Pe=A(M.graphRevision);if(!Pe||Pe.length!==64)return p.add(U),[];const st=A(M.claimRevision),X=[...Tr(S,Q,M)].sort(),k=Mi(e,M,S,U,g,X);if(!k&&st){if(X.length===0)return p.add(U),[];const G=Be("git",["diff-tree","--no-commit-id","--name-only","-r","-z",N],{cwd:e,encoding:"utf8"}).split("\0").filter(Boolean);let dt=[];if(M.rootMemoryEffect!==void 0)try{dt=ji(e,M.rootMemoryEffect,{storyId:S,executionBranch:g,baseSha:String(M.baseSha),headRef:N,childPaths:X}).files.map(He=>He.path)}catch{return p.add(U),[]}if(G.length===0||G.some(He=>!X.some(Fe=>Fe===He||Fe.endsWith("/")&&He.startsWith(Fe))&&!dt.includes(He)))return p.add(U),[];const ke=Ve("sha256").update(X.join("\0")).digest("hex"),ve=Ve("sha256").update(JSON.stringify(X)).digest("hex");if(st!==ke&&st!==ve)return p.add(U),[]}else if(!k)return p.add(U),[];return Pe?.length===64?[{storyId:S,epicId:U,graphRevision:Pe,checkpointHead:N,position:D}]:[]}),O=new Set(p);for(const[S,_]of Object.entries(s)){const Q=h(_)?_:void 0,M=Array.isArray(Q?.stories)?Q.stories.filter(D=>typeof D=="string"):Object.keys(o).filter(D=>D.startsWith(`${S}.`)),U=C.filter(D=>D.epicId===S),N=M.filter(D=>U.some($=>$.storyId===D)),ie=[...U].sort((D,$)=>D.position-$.position).map(D=>D.storyId);(JSON.stringify(N)!==JSON.stringify(ie)||new Set(ie).size!==ie.length)&&O.add(S)}const V={},T=[...new Set(C.filter(S=>!O.has(S.epicId)).map(S=>S.graphRevision))],P=T.length>0?await Ni(e,{headSha:u,graphRevisions:T}):new Map;for(const S of C){if(O.has(S.epicId))continue;const _=P.get(S.graphRevision);if(!_)throw new Error("p205-transient-authority-missing");V[S.storyId]=_}return V}catch(a){const i=a instanceof Error&&/^(?:p205|git-lifecycle)-[a-z0-9-]+$/.test(a.message)?a.message:"p205-transient-execution-failed";return process.stderr.write(`[Neocortex] ${i}. Checkpoint projection remains fail-closed.
11
+ `),{}}}function Gs(e,t){return{kind:"full",trigger:e,targetEpicId:null,targetStoryId:null,includedStoryCount:Object.keys(t.stories).length,includedEpicCount:Object.keys(t.epics).length,omittedStoryCount:0,omittedEpicCount:0,reason:"full-state",projectionMode:"full-compatible"}}const ea="neocortex:menu:cache";async function Po(e){try{const t=await e.get(ea);if(!t)return null;const r=JSON.parse(t);return r.version!==xt||Date.now()-r.cachedAt>Or?null:r}catch{return null}}async function ko(e,t,r){try{const a={instructions:t,metadata:r,cachedAt:Date.now(),version:xt};await e.set(ea,JSON.stringify(a),Or),Oo()}catch{}}function Oo(){try{Nt(kr)&&Tn(kr)}catch{}}function ta(e){return e.execute({phase:"client-preflight",domain:"client-persistence",category:"state-repair",operation:"update"},()=>On(),()=>On({strictReadOnly:!0}))}async function na(e,t,r){const a=r.mode==="strict";try{let i;if(a&&t)i=new kn({cacheDir:Ln,passphrase:t,strictReadOnly:!0});else if(a)i=new hr;else if(t){const y=z(pn,"cache");i=new kn({cacheDir:y,passphrase:t})}else process.stderr.write(`[neocortex] Warning: No license key in config. Run "neocortex activate" to re-authenticate.
12
+ `),i=new hr;const n=_r(r,i,"auth-cache"),o=_r(r,i,"tier-cache"),s=new Va({serverUrl:e,licenseKey:t??"",cacheProvider:n,strictReadOnly:a});let u;if(a){const y=await s.inspectToken();if(y.status!=="authenticated")return y;u=y.token}else u=await s.getToken();if(!u)return t?{status:"refresh-required",reason:"unavailable"}:{status:"not-configured"};const g=new Ba({cacheProvider:o,licenseClient:s});return{status:"authenticated",token:u,client:s,tierClient:g}}catch{return t?{status:"refresh-required",reason:"unavailable"}:{status:"not-configured"}}}let ra=!1;function No(e){const t=e.errorBody?.error_code;if(typeof t=="string"&&t.trim().length>0)return t;if(e.status===429)return"RATE_LIMITED";if(e.status>=500)return"SERVER_ERROR"}const aa=3,yn=50;function Lo(e){return new Promise(t=>setTimeout(t,e))}function Do(e,t,r){return e.status>=500&&e.status<=599?!0:r&&e.status===409&&t.error_code==="SIGNATURE_REPLAYED"}async function Jt(e,t,r,a,i={}){const n=Math.max(1,Math.min(i.maxAttempts??aa,aa)),o=i.sleep??Lo;let s=a,u=!1,g=!1,y=0;for(let w=1;w<=n;w+=1){const l=Math.max(Math.floor(Date.now()/1e3),y+1);y=l;const v=Mo(t,r,s,{nowSeconds:l}),E=new AbortController,p=setTimeout(()=>E.abort(),Nr);try{const C=await fetch(`${e}${t}`,{method:"POST",headers:v.headers,body:v.body,signal:E.signal});if(i.admitResponseBeforeBodyRead&&!i.admitResponseBeforeBodyRead(C))return{response:C,text:"",parsed:{},networkFailure:!1,responseAdmissionRejected:!0};const O=await C.text().catch(()=>""),V=C.ok&&i.deferSuccessfulJsonParsing?{}:(()=>{try{return O?JSON.parse(O):{}}catch{return{}}})();if(C.status===401&&!u&&i.refreshToken&&(V.fallback_action==="refresh_token"||V.fallback_action==="re_authenticate")){u=!0;const T=await i.refreshToken();if(T&&w<n){s=T,i.onTokenChanged?.(T),await o(yn*w);continue}}if(C.status===401&&V.error_code==="SIGNATURE_EXPIRED"&&!g&&w<n){g=!0,await o(yn*w);continue}if(w<n&&Do(C,V,i.allowReplayRetry===!0)){await o(yn*w);continue}return{response:C,text:O,parsed:V,networkFailure:!1}}catch{if(w<n){await o(yn*w);continue}return{text:"",parsed:{},networkFailure:!0}}finally{clearTimeout(p)}}return{text:"",parsed:{},networkFailure:!0}}function Mo(e,t,r,a={}){const i=Buffer.from(JSON.stringify(t),"utf8"),n=ci({method:"POST",target:e,body:i,bearerToken:r,clientVersion:xt,nowSeconds:a.nowSeconds,nonceBytes:a.nonceBytes});return{body:n.body,headers:{...n.headers,Authorization:`Bearer ${r}`}}}function ia(e){return Ve("sha256").update(e).digest("hex")}function jo(){const e=Number(process.env.NEOCORTEX_INVOKE_CHUNK_BYTES??"49152");return Number.isFinite(e)&&e>=1024&&e<=98304?Math.floor(e):49152}function Vo(e,t,r){return`args-${Ve("sha256").update("invoke-materialization:v1").update(e).update(String(t)).update(JSON.stringify(r)).digest("hex")}`}async function oa(e,t,r,a,i={}){const n=await Jt(e,t,r,a,{...i,allowReplayRetry:!0});if(n.networkFailure||!n.response)throw new Error("NETWORK_ERROR: materialization request failed after bounded retries");const{response:o,parsed:s}=n;if(!o.ok){const u=typeof s.error_code=="string"?s.error_code:`HTTP_${o.status}`,g=typeof s.message=="string"?s.message:"materialization upload failed";throw new Error(`${u}: ${g}`)}return s}async function Bo(e,t,r,a){const i=Buffer.from(t,"utf8"),n=jo(),o=[];for(let E=0,p=0;E<i.byteLength;E+=n,p++){const C=i.subarray(E,Math.min(E+n,i.byteLength));o.push({index:p,sha256:ia(C),byteLength:C.byteLength})}const s=ia(i),u=Vo(s,i.byteLength,o),g=Number(process.env.NEOCORTEX_INVOKE_CHUNK_TTL_SECONDS??"900");let y=r;const w={refreshToken:a,onTokenChanged(E){y=E}};for(const E of o){const p=E.index*n,C=i.subarray(p,p+E.byteLength);await oa(e,"/api/v1/invoke/materialization/chunks",{manifestId:u,index:E.index,sha256:E.sha256,byteLength:E.byteLength,contentBase64:C.toString("base64"),ttlSeconds:g,idempotencyKey:`${u}:${E.index}:${E.sha256}`},y,w)}const v=(await oa(e,"/api/v1/invoke/materialization/manifests",{manifestId:u,sha256:s,byteLength:i.byteLength,chunkCount:o.length,chunks:o,ttlSeconds:g,retry:{attempt:1,budget:3,idempotencyKey:u}},y,w)).argsRef;if(!v?.manifestId)throw new Error("MATERIALIZATION_RESPONSE_INVALID: missing argsRef");return{argsRef:v,chunks:o}}function Bt(e){return Buffer.byteLength(JSON.stringify(e),"utf8")}function Uo(...e){const t=new Set,r=[];for(const a of e)for(const i of a??[]){const n=ee(i);if(!(!n||t.has(n))&&(t.add(n),r.push(n),r.length>=16))return r}return r}function $o(e){const t=e.graphRetrieval;if(!h(t))return{accepted:!1,itemCount:0};const r=Array.isArray(t.items)?t.items.length:0;return{accepted:r>0||typeof t.retrievalId=="string"||t.accepted===!0,itemCount:r}}function Jn(e,t=Bt(e),r=[],a={}){const i=e.stateSnapshot.scope,n=Object.keys(e.stateSnapshot.stories).length,o=Object.keys(e.stateSnapshot.epics).length,s=i?.kind??"full";return{schemaVersion:1,payloadBytes:t,limitBytes:a.limitBytes??Dr,warningThresholdBytes:a.warningThresholdBytes??Dn,scope:{kind:s,...i?.projectionMode?{projectionMode:i.projectionMode}:{},commandId:i?.commandId??null,stateProjectionPolicy:i?.stateProjectionPolicy??null},includedStories:i?.includedStoryCount??n,omittedStories:i?.omittedStoryCount??0,includedEpics:i?.includedEpicCount??o,omittedEpics:i?.omittedEpicCount??0,graphRetrieval:$o(e.stateSnapshot),reasonCodes:Uo(r,i?.reasonCodes),publicSafe:!0}}function Go(e){const t=h(e.budget)?e.budget:void 0,r=typeof t?.maxPayloadBytes=="number"&&Number.isFinite(t.maxPayloadBytes)?t.maxPayloadBytes:12*1024;return Math.max(1024,Math.min(r,12*1024))}function Wo(e){return h(e)?{stableId:ee(e.stableId)??"unknown",...h(e.source)?{source:e.source}:{},reasonCode:"budget_exceeded"}:{stableId:"unknown",reasonCode:"budget_exceeded"}}function ca(e){const t=Array.isArray(e)?e.filter(r=>typeof r=="string"):[];return t.includes("budget_exceeded")?t:[...t,"budget_exceeded"]}function Ho(e){const t=e.graphRetrieval;if(!h(t)||!Array.isArray(t.items))return e;const r=Go(t);let a=[...t.items],i=Array.isArray(t.skipped)?[...t.skipped]:[],n=t;for(;Buffer.byteLength(JSON.stringify(n),"utf8")>r&&a.length>0;){const o=a.pop();i=[...i,Wo(o)].slice(-32),n={...t,items:a,skipped:i,warnings:ca(t.warnings)}}return Buffer.byteLength(JSON.stringify(n),"utf8")>r&&(n={...t,query:typeof t.query=="string"?t.query.slice(0,240):t.query,items:[],skipped:[],warnings:ca(t.warnings)}),n===t?e:{...e,graphRetrieval:n}}function sa(e,t={}){const r=t.limitBytes??Dr,a=t.warningThresholdBytes??Math.floor(r*Mr),i=Bt(e);if(i<r)return{body:e,degraded:!1,telemetry:Jn(e,i,["payload-within-limit"],{limitBytes:r,warningThresholdBytes:a})};let n={...e,stateSnapshot:Fa(e.stateSnapshot)},o=["payload-size-guardrail","state-degraded"],s=Bt(n);s>=r&&(n={...n,stateSnapshot:Ho(n.stateSnapshot)},o=[...o,"graph-retrieval-budget-enforced"],s=Bt(n));const u=Jn(n,s,o,{limitBytes:r,warningThresholdBytes:a});if(s>=r){const g=n.stateSnapshot.scope?.projectionMode;throw g==="yolo-story"||g==="yoloop-target"||g==="yoloop-session"||g==="yoloop-discovery"||g==="structural-required"?new $n(u):new Un(u)}return{body:n,degraded:!0,telemetry:u}}function da(e){const t=e.stateSnapshot.scope?.commandId??"resolved-command";return e.args!==void 0?t:`${t}:argsRef`}function Fo(e){const t=Bt(e);if(t<Dn)return t;const r=Jn(e,t,["payload-warning-threshold"]);return process.stderr.write(`[Neocortex] invoke payload near server limit: trigger=${da(e)} scope=${r.scope.kind} mode=${r.scope.projectionMode??r.scope.kind} payloadBytes=${r.payloadBytes} limit=${r.limitBytes} includedStories=${r.includedStories} omittedStories=${r.omittedStories} includedEpics=${r.includedEpics} omittedEpics=${r.omittedEpics} graphRetrieval.accepted=${r.graphRetrieval.accepted} graphRetrieval.itemCount=${r.graphRetrieval.itemCount} reasonCodes=${r.reasonCodes.join(",")||"none"}
13
13
  `),t}function pa(e,t){process.stderr.write(`[Neocortex] invoke payload guardrail: trigger=${da(e)} scope.kind=${t.scope.kind} payloadBytes=${t.payloadBytes} limit=${t.limitBytes} includedStories=${t.includedStories} omittedStories=${t.omittedStories} includedEpics=${t.includedEpics} omittedEpics=${t.omittedEpics} graphRetrieval.accepted=${t.graphRetrieval.accepted} graphRetrieval.itemCount=${t.graphRetrieval.itemCount} reasonCodes=${t.reasonCodes.join(",")||"none"}
14
- `)}async function Fo(e){const t=Xa(e.args,{platformTarget:e.platformTarget,environment:e.environment??process.env});if(t.action==="skipped")return{shouldContinue:!0,attachToRequest:qo(t),metadata:ua(t)};const r=e.bootstrapper??ei;let a;try{a=await r({projectRoot:e.projectRoot,env:e.environment??process.env,effectAuthority:e.effectAuthority})}catch{a={ok:!1,attempted:!0,installed:!1,started:!1,cached:!1,projectKey:"unknown",reasonCodes:[Za.UNEXPECTED_ERROR],publicSummary:"runner scheduler bootstrap stopped unexpectedly.",publicSafe:!0}}const i=ua(t,a);if(a.ok)return{shouldContinue:!0,attachToRequest:!0,metadata:i};const n=i.reasonCodes.slice(0,5).join(",");return t.failurePolicy==="fail-open"?{shouldContinue:!0,attachToRequest:!0,metadata:{...i,failOpenWarning:!0},warning:`Runner auto-bootstrap warning (${n}); continuing fail-open for operator command.`}:{shouldContinue:!1,attachToRequest:!1,metadata:i,errorCode:"RUNNER_BOOTSTRAP_REQUIRED_FAILED",error:`Runner auto-bootstrap required but failed (${n}). Run neocortex-runner doctor or retry after resolving scheduler setup.`,exitCode:1}}function qo(e){return!e.reasonCodes.includes(Qa.SKIPPED_NON_CONTINUITY_COMMAND)}function ua(e,t){return{schemaVersion:1,action:e.action,failurePolicy:e.failurePolicy,command:e.command,operation:e.operation,attempted:t?.attempted??!1,ok:t?.ok??!0,cached:t?.cached??!1,installed:t?.installed??!1,started:t?.started??!1,...t?.projectKey?{projectKey:t.projectKey}:{},reasonCodes:Oe([...e.reasonCodes,...t?.reasonCodes??[]]),publicSummary:t?.publicSummary??e.publicSummary,publicSafe:!0}}function Oe(e){return Array.from(new Set(e.map(t=>t.slice(0,120))))}function En(e,t,r){const a=Math.floor(e??t);return Number.isFinite(a)?Math.max(1,Math.min(r,a)):t}function In(e,t){const r=process.env[e];if(!r)return t;const a=Number(r);return Number.isFinite(a)?a:t}function H(e,t=$r){const r=typeof e=="string"&&e.trim().length>0?e.trim():"unknown",a=Je(r,t),i=ao.test(a)?yt:a;return i.length<=t?i:`${i.slice(0,t)}\u2026[TRUNCATED:${i.length-t}]`}function Jn(e,t=$r){if(!(typeof e!="string"||e.trim().length===0))return H(e,t)}function zn(e,t,r,a){const i=Jn(e?.targetId??t,120),n=e?.selectorKind??(i?Qn(i):void 0),o=(e?.relatedJobIds??[]).map(s=>Jn(s,120)).filter(s=>!!s);return{schemaVersion:1,contractVersion:"continuity-v1",targetResolutionState:r,...n?{targetKind:n}:{},...i?{targetId:i}:{},...t?{targetJobId:H(t,120)}:{},...e?.jobId?{jobId:H(e.jobId,120)}:{},...e?.goalId?{goalId:H(e.goalId,120)}:{},...e?.loopId?{loopId:H(e.loopId,120)}:{},...o.length>0?{relatedJobIds:o}:{},relatedJobCount:o.length,reasonCodes:Oe(a.length>0?a:[W.OK]),publicSafe:!0}}function ot(e,t,r,a,i=[]){const n=(e?.redactions?.length??0)>0,o=e?n?"unsafe":r&&a===0?"empty":"available":"unavailable",s=Jn(t[t.length-1]?.eventId,120),u=i.length>0?i:o==="unavailable"?[W.WATCH_SNAPSHOT_UNAVAILABLE]:o==="empty"?[W.WATCH_NO_SUMMARIES_YET]:[W.OK];return{schemaVersion:1,contractVersion:"continuity-v1",snapshotStatus:o,...e?.generatedAt?{generatedAt:H(e.generatedAt,80)}:{},renderedSummaryCount:a,...s?{latestEventId:s}:{},reasonCodes:Oe(u),publicSafe:!0}}function Ze(e,t,r,a,i=[],n){const o=a[a.length-1],s=r??o?.cursor,u=!!(s&&s!==t&&a.length>0),m=n??(u?"advanced":t||s?"unchanged":"not_started"),I=i.length>0?i:m==="advanced"?[W.WATCH_CURSOR_ADVANCED]:m==="unavailable"?[W.WATCH_EVIDENCE_UNAVAILABLE]:[W.WATCH_CURSOR_UNCHANGED];return{schemaVersion:1,contractVersion:"continuity-v1",cursorState:m,...e?{initialCursor:H(e,200)}:{},...t?{currentCursor:H(t,200)}:{},...s?{nextCursor:H(s,200)}:{},cursorAdvanced:u,...o?.eventId?{eventId:H(o.eventId,120)}:{},reasonCodes:Oe(I),publicSafe:!0}}function et(e){const t=e.targetEvidence;return{type:"watch_status",schemaVersion:1,contractVersion:"continuity-v1",recordType:"watch_status",command:"invoke",operation:"watch",watchStatus:e.watchStatus,active:e.active,...t?.targetResolutionState?{targetResolutionState:t.targetResolutionState}:{},...t?.targetKind?{targetKind:t.targetKind}:{},...t?.targetId?{targetId:t.targetId}:{},...t?{targetEvidence:t}:{},...e.snapshotEvidence?{snapshotEvidence:e.snapshotEvidence}:{},...e.cursorEvidence?{cursorEvidence:e.cursorEvidence}:{},...e.stopReason?{stopReason:e.stopReason}:{},reasonCodes:Oe([...e.reasonCodes??[],...t?.reasonCodes??[],...e.snapshotEvidence?.reasonCodes??[],...e.cursorEvidence?.reasonCodes??[]]),generatedAt:H(e.generatedAt??new Date().toISOString(),80),publicSafe:!0}}function Yo(e){const t=e.targetKind&&e.targetId?`${e.targetKind}/${e.targetId}`:e.targetId??"[unresolved]",r=e.snapshotEvidence?.renderedSummaryCount??0,a=e.targetEvidence?.relatedJobCount??0,i=e.cursorEvidence?.cursorState??"unavailable",n=e.cursorEvidence?.currentCursor??"[none]",o=e.cursorEvidence?.nextCursor??"[none]",s=e.snapshotEvidence?.snapshotStatus??"not_requested",u=e.snapshotEvidence?.generatedAt??e.generatedAt;return[`[watch-status] ${e.targetResolutionState==="unresolved"||e.stopReason==="target_unresolved"?"unresolved-target":r===0&&(e.watchStatus==="waiting"||e.watchStatus==="active")?"no-new-summary":e.watchStatus==="stopped"?"stopped":"lifecycle"}`,`status=${e.watchStatus}`,`active=${e.active}`,`target=${t}`,`resolution=${e.targetResolutionState??"unavailable"}`,`relatedJobs=${a}`,`summaries=${r}`,`snapshot=${s}`,`generatedAt=${u}`,`cursor=${i}`,`current=${H(n,200)}`,`next=${H(o,200)}`,`advanced=${e.cursorEvidence?.cursorAdvanced??!1}`,`stop=${e.stopReason??"not_stopped"}`,`reasons=${e.reasonCodes.join(",")}`].join(" ")}function tt(e,t,r,a=!1){if(a){const i={type:"watch_status",watchStatus:e.watchStatus,active:e.active,renderedSummaryCount:e.snapshotEvidence?.renderedSummaryCount??0,stopReason:e.stopReason??"not_stopped",protectedProjection:!0,publicSafe:!0};r.write(t==="json"?`${JSON.stringify(i)}
14
+ `)}async function qo(e){const t=Xa(e.args,{platformTarget:e.platformTarget,environment:e.environment??process.env});if(t.action==="skipped")return{shouldContinue:!0,attachToRequest:Yo(t),metadata:ua(t)};const r=e.bootstrapper??ei;let a;try{a=await r({projectRoot:e.projectRoot,env:e.environment??process.env,effectAuthority:e.effectAuthority})}catch{a={ok:!1,attempted:!0,installed:!1,started:!1,cached:!1,projectKey:"unknown",reasonCodes:[Za.UNEXPECTED_ERROR],publicSummary:"runner scheduler bootstrap stopped unexpectedly.",publicSafe:!0}}const i=ua(t,a);if(a.ok)return{shouldContinue:!0,attachToRequest:!0,metadata:i};const n=i.reasonCodes.slice(0,5).join(",");return t.failurePolicy==="fail-open"?{shouldContinue:!0,attachToRequest:!0,metadata:{...i,failOpenWarning:!0},warning:`Runner auto-bootstrap warning (${n}); continuing fail-open for operator command.`}:{shouldContinue:!1,attachToRequest:!1,metadata:i,errorCode:"RUNNER_BOOTSTRAP_REQUIRED_FAILED",error:`Runner auto-bootstrap required but failed (${n}). Run neocortex-runner doctor or retry after resolving scheduler setup.`,exitCode:1}}function Yo(e){return!e.reasonCodes.includes(Qa.SKIPPED_NON_CONTINUITY_COMMAND)}function ua(e,t){return{schemaVersion:1,action:e.action,failurePolicy:e.failurePolicy,command:e.command,operation:e.operation,attempted:t?.attempted??!1,ok:t?.ok??!0,cached:t?.cached??!1,installed:t?.installed??!1,started:t?.started??!1,...t?.projectKey?{projectKey:t.projectKey}:{},reasonCodes:Ne([...e.reasonCodes,...t?.reasonCodes??[]]),publicSummary:t?.publicSummary??e.publicSummary,publicSafe:!0}}function Ne(e){return Array.from(new Set(e.map(t=>t.slice(0,120))))}function En(e,t,r){const a=Math.floor(e??t);return Number.isFinite(a)?Math.max(1,Math.min(r,a)):t}function In(e,t){const r=process.env[e];if(!r)return t;const a=Number(r);return Number.isFinite(a)?a:t}function F(e,t=$r){const r=typeof e=="string"&&e.trim().length>0?e.trim():"unknown",a=Je(r,t),i=io.test(a)?yt:a;return i.length<=t?i:`${i.slice(0,t)}\u2026[TRUNCATED:${i.length-t}]`}function zn(e,t=$r){if(!(typeof e!="string"||e.trim().length===0))return F(e,t)}function Kn(e,t,r,a){const i=zn(e?.targetId??t,120),n=e?.selectorKind??(i?Xn(i):void 0),o=(e?.relatedJobIds??[]).map(s=>zn(s,120)).filter(s=>!!s);return{schemaVersion:1,contractVersion:"continuity-v1",targetResolutionState:r,...n?{targetKind:n}:{},...i?{targetId:i}:{},...t?{targetJobId:F(t,120)}:{},...e?.jobId?{jobId:F(e.jobId,120)}:{},...e?.goalId?{goalId:F(e.goalId,120)}:{},...e?.loopId?{loopId:F(e.loopId,120)}:{},...o.length>0?{relatedJobIds:o}:{},relatedJobCount:o.length,reasonCodes:Ne(a.length>0?a:[H.OK]),publicSafe:!0}}function ot(e,t,r,a,i=[]){const n=(e?.redactions?.length??0)>0,o=e?n?"unsafe":r&&a===0?"empty":"available":"unavailable",s=zn(t[t.length-1]?.eventId,120),u=i.length>0?i:o==="unavailable"?[H.WATCH_SNAPSHOT_UNAVAILABLE]:o==="empty"?[H.WATCH_NO_SUMMARIES_YET]:[H.OK];return{schemaVersion:1,contractVersion:"continuity-v1",snapshotStatus:o,...e?.generatedAt?{generatedAt:F(e.generatedAt,80)}:{},renderedSummaryCount:a,...s?{latestEventId:s}:{},reasonCodes:Ne(u),publicSafe:!0}}function Ze(e,t,r,a,i=[],n){const o=a[a.length-1],s=r??o?.cursor,u=!!(s&&s!==t&&a.length>0),g=n??(u?"advanced":t||s?"unchanged":"not_started"),y=i.length>0?i:g==="advanced"?[H.WATCH_CURSOR_ADVANCED]:g==="unavailable"?[H.WATCH_EVIDENCE_UNAVAILABLE]:[H.WATCH_CURSOR_UNCHANGED];return{schemaVersion:1,contractVersion:"continuity-v1",cursorState:g,...e?{initialCursor:F(e,200)}:{},...t?{currentCursor:F(t,200)}:{},...s?{nextCursor:F(s,200)}:{},cursorAdvanced:u,...o?.eventId?{eventId:F(o.eventId,120)}:{},reasonCodes:Ne(y),publicSafe:!0}}function et(e){const t=e.targetEvidence;return{type:"watch_status",schemaVersion:1,contractVersion:"continuity-v1",recordType:"watch_status",command:"invoke",operation:"watch",watchStatus:e.watchStatus,active:e.active,...t?.targetResolutionState?{targetResolutionState:t.targetResolutionState}:{},...t?.targetKind?{targetKind:t.targetKind}:{},...t?.targetId?{targetId:t.targetId}:{},...t?{targetEvidence:t}:{},...e.snapshotEvidence?{snapshotEvidence:e.snapshotEvidence}:{},...e.cursorEvidence?{cursorEvidence:e.cursorEvidence}:{},...e.stopReason?{stopReason:e.stopReason}:{},reasonCodes:Ne([...e.reasonCodes??[],...t?.reasonCodes??[],...e.snapshotEvidence?.reasonCodes??[],...e.cursorEvidence?.reasonCodes??[]]),generatedAt:F(e.generatedAt??new Date().toISOString(),80),publicSafe:!0}}function Jo(e){const t=e.targetKind&&e.targetId?`${e.targetKind}/${e.targetId}`:e.targetId??"[unresolved]",r=e.snapshotEvidence?.renderedSummaryCount??0,a=e.targetEvidence?.relatedJobCount??0,i=e.cursorEvidence?.cursorState??"unavailable",n=e.cursorEvidence?.currentCursor??"[none]",o=e.cursorEvidence?.nextCursor??"[none]",s=e.snapshotEvidence?.snapshotStatus??"not_requested",u=e.snapshotEvidence?.generatedAt??e.generatedAt;return[`[watch-status] ${e.targetResolutionState==="unresolved"||e.stopReason==="target_unresolved"?"unresolved-target":r===0&&(e.watchStatus==="waiting"||e.watchStatus==="active")?"no-new-summary":e.watchStatus==="stopped"?"stopped":"lifecycle"}`,`status=${e.watchStatus}`,`active=${e.active}`,`target=${t}`,`resolution=${e.targetResolutionState??"unavailable"}`,`relatedJobs=${a}`,`summaries=${r}`,`snapshot=${s}`,`generatedAt=${u}`,`cursor=${i}`,`current=${F(n,200)}`,`next=${F(o,200)}`,`advanced=${e.cursorEvidence?.cursorAdvanced??!1}`,`stop=${e.stopReason??"not_stopped"}`,`reasons=${e.reasonCodes.join(",")}`].join(" ")}function tt(e,t,r,a=!1){if(a){const i={type:"watch_status",watchStatus:e.watchStatus,active:e.active,renderedSummaryCount:e.snapshotEvidence?.renderedSummaryCount??0,stopReason:e.stopReason??"not_stopped",protectedProjection:!0,publicSafe:!0};r.write(t==="json"?`${JSON.stringify(i)}
15
15
  `:`[watch-status] status=${i.watchStatus} active=${i.active} summaries=${i.renderedSummaryCount} stop=${i.stopReason}
16
16
  `);return}if(t==="json"){r.write(JSON.stringify(e)+`
17
- `);return}r.write(Yo(e)+`
18
- `)}function Jo(e,t,r){return{continuityInvokeWatch:{schemaVersion:1,contractVersion:"continuity-v1",command:"invoke",operation:"watch",watchStatus:e.watchStatus,stopReason:e.stopReason??"not_stopped",targetResolutionState:e.targetResolutionState,targetKind:e.targetKind,targetId:e.targetId,snapshotStatus:e.snapshotEvidence?.snapshotStatus,snapshotGeneratedAt:e.snapshotEvidence?.generatedAt,renderedSummaryCount:e.snapshotEvidence?.renderedSummaryCount??t,cursorState:e.cursorEvidence?.cursorState,cursorAdvanced:e.cursorEvidence?.cursorAdvanced,summariesEmitted:t,polls:r,statusRecord:e,publicSafe:!0}}}function ct(e,t,r,a,i=!1){return i?{status:e,summariesEmitted:t,polls:r,reasonCodes:[],watchStatus:a.watchStatus,stopReason:a.stopReason,metadata:{continuityInvokeWatch:{schemaVersion:1,contractVersion:"continuity-v1",command:"invoke",operation:"watch",watchStatus:a.watchStatus,stopReason:a.stopReason??"not_stopped",summariesEmitted:t,polls:r,protectedProjection:!0,publicSafe:!0}},publicSafe:!0}:{status:e,summariesEmitted:t,polls:r,reasonCodes:a.reasonCodes,watchStatus:a.watchStatus,stopReason:a.stopReason,targetEvidence:a.targetEvidence,snapshotEvidence:a.snapshotEvidence,cursorEvidence:a.cursorEvidence,statusRecord:a,metadata:Jo(a,t,r),publicSafe:!0}}function zo(e){const t=e.reasonCode?` reason=${H(e.reasonCode,80)}`:"",r=e.goalId?` goal=${H(e.goalId,100)}`:"",a=e.loopId?` loop=${H(e.loopId,100)}`:"";return`[watch] ${H(e.createdAt,80)} event=${H(e.eventId,120)} job=${H(e.jobId,100)}${r}${a} execution=${H(e.executionId,120)}${t} -- ${H(e.publicSummary)}`}function Ko(e){return{type:"processing_summary",source:"local_continuity_sqlite",eventId:H(e.eventId,120),jobId:H(e.jobId,100),...e.goalId?{goalId:H(e.goalId,100)}:{},...e.loopId?{loopId:H(e.loopId,100)}:{},executionId:H(e.executionId,120),...e.reasonCode?{reasonCode:H(e.reasonCode,80)}:{},createdAt:H(e.createdAt,80),publicSummary:H(e.publicSummary),publicSafe:!0}}function Qo(e,t,r,a=!1){if(a){r.write(t==="json"?`${JSON.stringify({type:"processing_summary",source:"local_continuity_sqlite",publicSummary:"A local processing update is available.",protectedProjection:!0,publicSafe:!0})}
17
+ `);return}r.write(Jo(e)+`
18
+ `)}function zo(e,t,r){return{continuityInvokeWatch:{schemaVersion:1,contractVersion:"continuity-v1",command:"invoke",operation:"watch",watchStatus:e.watchStatus,stopReason:e.stopReason??"not_stopped",targetResolutionState:e.targetResolutionState,targetKind:e.targetKind,targetId:e.targetId,snapshotStatus:e.snapshotEvidence?.snapshotStatus,snapshotGeneratedAt:e.snapshotEvidence?.generatedAt,renderedSummaryCount:e.snapshotEvidence?.renderedSummaryCount??t,cursorState:e.cursorEvidence?.cursorState,cursorAdvanced:e.cursorEvidence?.cursorAdvanced,summariesEmitted:t,polls:r,statusRecord:e,publicSafe:!0}}}function ct(e,t,r,a,i=!1){return i?{status:e,summariesEmitted:t,polls:r,reasonCodes:[],watchStatus:a.watchStatus,stopReason:a.stopReason,metadata:{continuityInvokeWatch:{schemaVersion:1,contractVersion:"continuity-v1",command:"invoke",operation:"watch",watchStatus:a.watchStatus,stopReason:a.stopReason??"not_stopped",summariesEmitted:t,polls:r,protectedProjection:!0,publicSafe:!0}},publicSafe:!0}:{status:e,summariesEmitted:t,polls:r,reasonCodes:a.reasonCodes,watchStatus:a.watchStatus,stopReason:a.stopReason,targetEvidence:a.targetEvidence,snapshotEvidence:a.snapshotEvidence,cursorEvidence:a.cursorEvidence,statusRecord:a,metadata:zo(a,t,r),publicSafe:!0}}function Ko(e){const t=e.reasonCode?` reason=${F(e.reasonCode,80)}`:"",r=e.goalId?` goal=${F(e.goalId,100)}`:"",a=e.loopId?` loop=${F(e.loopId,100)}`:"";return`[watch] ${F(e.createdAt,80)} event=${F(e.eventId,120)} job=${F(e.jobId,100)}${r}${a} execution=${F(e.executionId,120)}${t} -- ${F(e.publicSummary)}`}function Qo(e){return{type:"processing_summary",source:"local_continuity_sqlite",eventId:F(e.eventId,120),jobId:F(e.jobId,100),...e.goalId?{goalId:F(e.goalId,100)}:{},...e.loopId?{loopId:F(e.loopId,100)}:{},executionId:F(e.executionId,120),...e.reasonCode?{reasonCode:F(e.reasonCode,80)}:{},createdAt:F(e.createdAt,80),publicSummary:F(e.publicSummary),publicSafe:!0}}function Xo(e,t,r,a=!1){if(a){r.write(t==="json"?`${JSON.stringify({type:"processing_summary",source:"local_continuity_sqlite",publicSummary:"A local processing update is available.",protectedProjection:!0,publicSafe:!0})}
19
19
  `:`[watch] A local processing update is available.
20
- `);return}if(t==="json"){r.write(JSON.stringify(Ko(e))+`
21
- `);return}r.write(zo(e)+`
22
- `)}function Kn(e){return no.has(e.status)}function Xo(e,t,r){if(t){const i=e.find(n=>n.jobId===t);return!!(i&&Kn(i))}return r<=0?!1:e.filter(i=>!Kn(i)).length===0}function Zo(e,t,r,a){return r<a?!1:t?!e.some(i=>i.jobId===t&&!Kn(i)):e.length===0}function ec(e,t){return t?.aborted?Promise.resolve():new Promise(r=>{const a=setTimeout(i,e);function i(){clearTimeout(a),t?.removeEventListener("abort",i),r()}t?.addEventListener("abort",i,{once:!0})})}function tc(e){return e.includes(be.MALFORMED)?"malformed":e.includes(be.AMBIGUOUS)?"ambiguous":e.includes("watch-target-multiple")?"multiple":e.includes("watch-evidence-unsafe")?"unsafe":e.includes(be.MISSING)||e.includes(Se.TARGET_UNRESOLVED)?"unresolved":"unavailable"}function la(e,t){const r=t?zt(t):void 0,a=Oe([...e,Se.TARGET_UNRESOLVED,W.WATCH_TARGET_UNRESOLVED]),i=zn(r,r?.targetId,tc(a),a),n=ot({generatedAt:new Date().toISOString()},[],!1,0,[W.WATCH_TARGET_UNRESOLVED]),o=Ze(void 0,void 0,void 0,[],[W.WATCH_TARGET_UNRESOLVED],"unavailable");return et({watchStatus:"blocked",active:!1,targetEvidence:i,snapshotEvidence:n,cursorEvidence:o,stopReason:"target_unresolved",reasonCodes:a,generatedAt:n.generatedAt})}function nc(e,t,r,a,i=!1){const n=la(e,fa(t));return tt(n,r,a,i),ct("target-unresolved",0,0,n,i)}async function rc(e){if(e.signal?.aborted){const P=zn(e.target??zt(e.targetJobId),e.targetJobId,e.target??e.targetJobId?"resolved":"unresolved",[Se.CANCELLED]),S=ot(void 0,[],!1,0),_=Ze(e.initialCursor,e.initialCursor,e.initialCursor,[],[Se.CANCELLED],"unavailable"),Q=et({watchStatus:"stopped",active:!1,targetEvidence:P,snapshotEvidence:S,cursorEvidence:_,stopReason:"cancelled",reasonCodes:[Se.CANCELLED]});return ct("cancelled",0,0,Q,e.protectedOutput)}const t=e.target??zt(e.targetJobId),r=e.targetJobId??t?.targetId,a=e.stdout??process.stdout;if(!t){const P=la([be.MISSING,Se.TARGET_UNRESOLVED]);return tt(P,e.format,a,e.protectedOutput),ct("target-unresolved",0,0,P,e.protectedOutput)}const i=En(e.limit??In("NEOCORTEX_INVOKE_WATCH_LIMIT",Sr),Sr,50),n=Math.max(50,En(e.pollIntervalMs??In("NEOCORTEX_INVOKE_WATCH_POLL_INTERVAL_MS",wr),wr,6e4)),o=En(e.maxIdlePolls??In("NEOCORTEX_INVOKE_WATCH_MAX_IDLE_POLLS",vr),vr,120),s=En(e.maxPolls??In("NEOCORTEX_INVOKE_WATCH_MAX_POLLS",Cr),Cr,86400),u=e.sleep??ec;let m=e.initialCursor,I=0,w=0,l=0;const v=zn(t,r,"resolved",[W.OK]),y={schemaVersion:1,contractVersion:"continuity-v1",snapshotStatus:"pending",renderedSummaryCount:0,reasonCodes:[W.WATCH_RENDER_PENDING],publicSafe:!0},p=Ze(e.initialCursor,m,m,[],e.initialCursor?[W.WATCH_CURSOR_UNCHANGED]:[W.WATCH_NO_SUMMARIES_YET],e.initialCursor?"unchanged":"not_started");tt(et({watchStatus:"active",active:!0,targetEvidence:v,snapshotEvidence:y,cursorEvidence:p,stopReason:"not_stopped",reasonCodes:[W.OK]}),e.format,a,e.protectedOutput);let C;try{C=await ni({projectRoot:e.projectRoot,strictReadOnly:e.strictReadOnly})}catch{const P=ot(void 0,[],!1,I,[W.WATCH_SNAPSHOT_UNAVAILABLE]),S=Ze(e.initialCursor,m,m,[],[W.WATCH_EVIDENCE_UNAVAILABLE],"unavailable"),_=et({watchStatus:"blocked",active:!1,targetEvidence:v,snapshotEvidence:P,cursorEvidence:S,stopReason:"unavailable_evidence",reasonCodes:[Se.STORE_UNAVAILABLE]});return tt(_,e.format,a,e.protectedOutput),ct("store-unavailable",I,l,_,e.protectedOutput)}try{for(;!e.signal?.aborted&&l<s;){l+=1;const P=m,S=C.collectProcessingOutputSummaryCursor({...m?{cursor:m}:{},...t?{target:t}:{},...r?{jobId:r}:{},limit:i}),_=C.collectSnapshot({jobLimit:50,processingSummaryLimit:1}),Q=_.jobs;if(S.summaries.length>0){for(const N of S.summaries)Qo(N,e.format,a,e.protectedOutput),I+=1;m=S.nextCursor??S.summaries[S.summaries.length-1]?.cursor??m,w=0}else m=S.nextCursor??m,w+=1;const D=ot(_,S.summaries,!0,S.summaries.length),U=Ze(e.initialCursor,P,m,S.summaries,S.summaries.length>0?[W.WATCH_CURSOR_ADVANCED]:[W.WATCH_NO_SUMMARIES_YET]);if(tt(et({watchStatus:S.summaries.length>0?"polling":"waiting",active:!0,targetEvidence:v,snapshotEvidence:D,cursorEvidence:U,stopReason:"not_stopped",reasonCodes:S.summaries.length>0?[W.WATCH_CURSOR_ADVANCED]:[W.WATCH_NO_SUMMARIES_YET],generatedAt:_.generatedAt}),e.format,a,e.protectedOutput),!S.hasMore&&Xo(Q,r,I)){const N=ot(_,S.summaries,!1,I,[Se.COMPLETED]),ie=Ze(e.initialCursor,P,m,S.summaries,[Se.COMPLETED],"exhausted"),M=et({watchStatus:"stopped",active:!1,targetEvidence:v,snapshotEvidence:N,cursorEvidence:ie,stopReason:"not_stopped",reasonCodes:[Se.COMPLETED],generatedAt:_.generatedAt});return tt(M,e.format,a,e.protectedOutput),ct("completed",I,l,M,e.protectedOutput)}if(!S.hasMore&&Zo(Q,r,w,o)){const N=ot(_,S.summaries,!1,I,[W.WATCH_STOP_IDLE_LIMIT_REACHED]),ie=Ze(e.initialCursor,P,m,S.summaries,[W.WATCH_STOP_IDLE_LIMIT_REACHED],"exhausted"),M=et({watchStatus:"stopped",active:!1,targetEvidence:v,snapshotEvidence:N,cursorEvidence:ie,stopReason:"idle_limit_reached",reasonCodes:[Se.IDLE_TIMEOUT,W.WATCH_STOP_IDLE_LIMIT_REACHED],generatedAt:_.generatedAt});return tt(M,e.format,a,e.protectedOutput),ct("idle-timeout",I,l,M,e.protectedOutput)}S.hasMore||await u(n,e.signal)}}catch{const P=ot(void 0,[],!1,I,[W.WATCH_SNAPSHOT_UNAVAILABLE]),S=Ze(e.initialCursor,m,m,[],[W.WATCH_EVIDENCE_UNAVAILABLE],"unavailable"),_=et({watchStatus:"blocked",active:!1,targetEvidence:v,snapshotEvidence:P,cursorEvidence:S,stopReason:"unavailable_evidence",reasonCodes:[Se.STORE_UNAVAILABLE]});return tt(_,e.format,a,e.protectedOutput),ct("store-unavailable",I,l,_,e.protectedOutput)}finally{C.close()}if(e.signal?.aborted){const P=ot(void 0,[],!1,I,[Se.CANCELLED]),S=Ze(e.initialCursor,m,m,[],[Se.CANCELLED],"unavailable"),_=et({watchStatus:"stopped",active:!1,targetEvidence:v,snapshotEvidence:P,cursorEvidence:S,stopReason:"cancelled",reasonCodes:[Se.CANCELLED]});return tt(_,e.format,a,e.protectedOutput),ct("cancelled",I,l,_,e.protectedOutput)}const k=ot(void 0,[],!1,I,[W.WATCH_STOP_MAX_POLLS_REACHED]),V=Ze(e.initialCursor,m,m,[],[W.WATCH_STOP_MAX_POLLS_REACHED],"exhausted"),T=et({watchStatus:"stopped",active:!1,targetEvidence:v,snapshotEvidence:k,cursorEvidence:V,stopReason:"max_polls_reached",reasonCodes:[Se.MAX_POLLS,W.WATCH_STOP_MAX_POLLS_REACHED]});return tt(T,e.format,a,e.protectedOutput),ct("max-polls",I,l,T,e.protectedOutput)}function ze(e){const t=e.trim().replace(/^@/,"").match(/^(job|goal|loop)-([JGL])(\d{3,})$/i);if(!t)return;const r=t[1].toLowerCase(),a=t[2].toUpperCase();if(!(r==="job"&&a!=="J"||r==="goal"&&a!=="G"||r==="loop"&&a!=="L"))return`${r}-${a}${t[3]}`}function Qn(e){if(e.startsWith("job-J"))return"job";if(e.startsWith("goal-G"))return"goal";if(e.startsWith("loop-L"))return"loop"}function ha(e){const t=[],r=/(?:^|[\s"'([,{])@?(job-[Jj]\d{3,}|goal-[Gg]\d{3,}|loop-[Ll]\d{3,})(?=$|[\s"')\]},.;:!?])/g;let a;for(;(a=r.exec(e))!==null;){const i=ze(a[1]);i&&t.push(i)}return Oe(t)}function fa(e){return ha(e)[0]}function zt(e){const t=e?ze(e):void 0;if(t){if(t.startsWith("job-J"))return{selectorKind:"job",targetId:t,jobId:t,publicSafe:!0};if(t.startsWith("goal-G"))return{selectorKind:"goal",targetId:t,goalId:t,publicSafe:!0};if(t.startsWith("loop-L"))return{selectorKind:"loop",targetId:t,loopId:t,publicSafe:!0}}}function Xn(e){return Oe(e.filter(t=>typeof t=="string").map(t=>ze(t)).filter(t=>!!t?.startsWith("job-J")))}function ac(e,t){const r=Xn(t).filter(a=>a!==e.targetId&&a!==e.jobId);return r.length>0?{...e,relatedJobIds:r}:e}function ic(e){if(!e)return;const t=h(e.target)?e.target:void 0,r=typeof e.selectorKind=="string"?e.selectorKind:typeof t?.selectorKind=="string"?t.selectorKind:void 0,a=typeof e.targetId=="string"?ze(e.targetId):typeof t?.targetId=="string"?ze(t.targetId):typeof e.targetJobId=="string"?ze(e.targetJobId):void 0,i=zt(a);if(!i||r&&r!==i.selectorKind)return;const n=Array.isArray(e.relatedJobIds)?e.relatedJobIds:Array.isArray(t?.relatedJobIds)?t.relatedJobIds:void 0,o=Xn([...n??[],e.jobId,t?.jobId,e.targetJobId,t?.targetJobId]).filter(s=>s!==i.targetId&&s!==i.jobId);return{...i,...typeof(e.jobId??t?.jobId)=="string"?{jobId:ze(e.jobId??t?.jobId)??i.jobId}:{},...typeof(e.goalId??t?.goalId)=="string"?{goalId:ze(e.goalId??t?.goalId)??i.goalId}:{},...typeof(e.loopId??t?.loopId)=="string"?{loopId:ze(e.loopId??t?.loopId)??i.loopId}:{},...o.length>0?{relatedJobIds:o}:{}}}function ma(e){const t=e.trim().split(/\s+/).filter(Boolean),r=t[0]?.replace(/^\*/,"").toLowerCase(),a=t[1]?.replace(/^--/,"").toLowerCase();return(r==="jobs"||r==="job"||r==="continuity-jobs"||r==="61")&&a==="watch"}const Re=Object.freeze({ACTIVE:"command-level-watch-active",INACTIVE:"command-level-watch-inactive",DUPLICATE:"command-level-watch-duplicate",AMBIGUOUS:"command-level-watch-ambiguous",QUOTED:"command-level-watch-quoted",MALFORMED:"command-level-watch-malformed",NON_FINAL:"command-level-watch-non-final",UNRESOLVED:"command-level-watch-unresolved",UNSUPPORTED:"command-level-watch-unsupported",TARGET_INVALID:"command-level-watch-target-invalid"}),oc=new Set(["create","start","resume"]),cc=new Set(["create","resume","run-once"]);function Zn(e,t,r,a,i){return{schemaVersion:1,contractVersion:"continuity-v1",...r?{command:r}:{},...a?{operation:a}:{},active:e,...i?{watchToken:i}:{},reasonCodes:Oe(t),serverHeldStream:!1,allJobsPolling:!1,targetResolution:e?"required-after-dispatch":"inactive",publicSafe:!0}}function xe(e,t=[],r,a){const i=t.length>0?t:[Re.INACTIVE];return{args:e,watch:!1,reasonCodes:i,metadata:Zn(!1,i,r,a),publicSafe:!0}}function sc(e){const t=e.trim().split(/\s+/).filter(Boolean),r=t.slice(2).filter(n=>n==="--watch").length;if(r===0)return xe(e,[],"jobs","watch");if(r!==1)return xe(e,[Re.AMBIGUOUS],"jobs","watch");const a=t.filter((n,o)=>o<2||n!=="--watch").join(" ");return ma(a)?a.trim().split(/\s+/).filter(Boolean).slice(2).length!==1?xe(e,[Re.AMBIGUOUS],"jobs","watch"):fa(a)?{args:a,watch:!0,reasonCodes:[Re.ACTIVE],metadata:Zn(!0,[Re.ACTIVE],"jobs","watch"),publicSafe:!0}:xe(e,[Re.TARGET_INVALID],"jobs","watch"):xe(e,[Re.UNSUPPORTED],"jobs","watch")}function dc(e){const t=[];let r=!1,a=0;for(;a<e.length;){for(;a<e.length&&/\s/.test(e[a]);)a+=1;if(a>=e.length)break;const i=a;let n="",o=!1,s=null;for(;a<e.length;){const u=e[a];if(s){if(u===s){o=!0,s=null,a+=1;continue}if(u==="\\"&&a+1<e.length){n+=e[a+1],a+=2;continue}n+=u,a+=1;continue}if(/\s/.test(u))break;if(u==='"'||u==="'"){o=!0,s=u,a+=1;continue}n+=u,a+=1}s&&(r=!0),t.push({value:n,start:i,end:a,quoted:o})}return{tokens:t,malformed:r}}function pc(e){if(!e||e.quoted)return;const t=e.value.replace(/^\*/,"").toLowerCase();return t==="goal"||t==="loop"?t:void 0}function uc(e,t){if(!e||e==="jobs"||!t||t.quoted)return;const r=t.value.toLowerCase();return(e==="goal"?oc:cc).has(r)?r:void 0}function lc(e){return!e.quoted&&e.value!=="--watch"&&e.value.toLowerCase().startsWith("--watch")}function hc(e){const{tokens:t,malformed:r}=dc(e),a=pc(t[0]),i=uc(a,t[1]);if(r)return xe(e,[Re.MALFORMED],a,i);const n=t.filter(l=>l.value==="--watch"&&!l.quoted),o=t.filter(l=>l.value==="--watch"&&l.quoted),s=t.filter(lc);if(!(n.length>0||o.length>0||s.length>0))return xe(e,[],a,i);if(n.length>1)return xe(e,[Re.DUPLICATE],a,i);if(n.length===1&&(o.length>0||s.length>0))return xe(e,[Re.AMBIGUOUS],a,i);if(o.length>0)return xe(e,[Re.QUOTED],a,i);if(s.length>0)return xe(e,[Re.MALFORMED],a,i);const m=n[0];if(!m)return xe(e,[],a,i);if(t[t.length-1]!==m)return xe(e,[Re.NON_FINAL],a,i);if(!a||!i)return xe(e,[Re.UNRESOLVED],a,i);const I=`${e.slice(0,m.start)}${e.slice(m.end)}`.trim(),w={literal:"--watch",position:"final",start:m.start,end:m.end,quoted:!1,publicSafe:!0};return{args:I,watch:!0,reasonCodes:[Re.ACTIVE],metadata:Zn(!0,[Re.ACTIVE],a,i,w),publicSafe:!0}}function fc(e){return ma(e)?sc(e):hc(e)}function mc(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&ro.has(t)):[]}function Ut(e){return{disabled:!0,reasonCodes:Oe(e.length>0?e:[be.MISSING])}}function er(e,t,r=[],a){const i=zt(t);if(i)return{source:e,target:ac(i,r),targetJobId:i.targetId,...a?{initialCursor:a}:{},serverHeldStream:!1}}function gc(e){const t=new Map;for(const r of e){const a=`${r.target.selectorKind}:${r.target.targetId}`,i=t.get(a);if(!i){t.set(a,r);continue}const n=Oe([...i.target.relatedJobIds??[],...r.target.relatedJobIds??[]]);t.set(a,{...i,target:n.length>0?{...i.target,relatedJobIds:n}:i.target,initialCursor:i.initialCursor??r.initialCursor})}return Array.from(t.values())}function St(e,t,r,a){return{source:e,hasEvidence:t,candidates:gc(r.filter(i=>!!i)),...a&&a.length>0?{disabledReasonCodes:Oe(a)}:{}}}function yc(e,t){return e.target.selectorKind===t.target.selectorKind&&e.target.targetId===t.target.targetId}function Kt(e,t){const r=Oe(e.filter(a=>typeof a=="string").map(a=>ze(a)).filter(a=>!!a));if(t){const a=r.find(i=>Qn(i)===t);if(a)return a}return r[0]}function Sn(e,t){return Oe(e.filter(r=>typeof r=="string").map(r=>ze(r)).filter(r=>!!r)).find(r=>Qn(r)===t)}function Ec(e){const t=h(e?.continuity)?e.continuity:void 0,r=h(t?.jobs)?t.jobs:void 0,a=h(r?.watcher)?r.watcher:void 0,i=mc(a?.reasonCodes??r?.reasonCodes);if(!a)return St("watcher-metadata",i.length>0,[],i);if(a.active===!1||i.length>0)return St("watcher-metadata",!0,[],i.length>0?i:[be.MALFORMED]);if(a.serverHeldStream!==!1)return St("watcher-metadata",!0,[],[be.SERVER_HELD_STREAM]);const n=ic(a);if(!n)return St("watcher-metadata",!0,[],[be.MISSING]);const o=typeof a.initialCursor=="string"?a.initialCursor:void 0;return St("watcher-metadata",!0,[{source:"watcher-metadata",target:n,targetJobId:n.targetId,...o?{initialCursor:o}:{},serverHeldStream:!1}])}function ga(e,t){const r=h(e.loopJobPlan)?e.loopJobPlan:void 0,a=h(r?.metadata)?r.metadata:void 0,i=h(e.metadata)?e.metadata:void 0,o=(t==="goal"?Kt([e.goalId,e.targetGoalId,e.campaignId,e.jobId,e.targetJobId,i?.goalId,i?.campaignId,i?.jobId],"goal"):Kt([e.loopId,e.targetLoopId,e.jobId,e.targetJobId,i?.loopId,i?.jobId,a?.loopId,a?.jobId],"loop"))??Kt([e.jobId,e.targetJobId,i?.jobId,a?.jobId]);return er("goal-loop-continuity-metadata",o,[e.jobId,e.targetJobId,i?.jobId,a?.jobId])}function Ic(e){const t=h(e?.continuity)?e.continuity:void 0,r=h(t?.goal)?t.goal:void 0,a=h(t?.loop)?t.loop:void 0,i=[r?ga(r,"goal"):void 0,a?ga(a,"loop"):void 0],n=!!(r||a);return St("goal-loop-continuity-metadata",n,i,n&&i.every(o=>!o)?[be.MISSING]:void 0)}function Sc(e){return Array.isArray(e)?e.filter(h):h(e)?Array.isArray(e.operationLogs)?e.operationLogs.filter(h):h(e.operationLog)?[e.operationLog]:Array.isArray(e.operations)?[e]:[]:[]}function ya(e,t){const r=h(t.metadata)?t.metadata:void 0,a=Sn([t.goalId,t.targetGoalId,t.campaignId,r?.goalId,r?.campaignId,t.jobId,r?.jobId],"goal"),i=Sn([t.loopId,t.targetLoopId,r?.loopId,t.jobId,r?.jobId],"loop"),n=Kt([t.jobId,t.targetJobId,r?.jobId],"job"),o=a??i??n;if(!o)return;const s=e.get(o)??{targetId:o,relatedJobIds:[]};s.relatedJobIds.push(...Xn([n,t.jobId,t.targetJobId,r?.jobId])),e.set(o,s)}function vc(e){const t=h(e.metadata)?e.metadata:void 0;return!!(Sn([e.goalId,e.targetGoalId,e.campaignId,t?.goalId,t?.campaignId,e.jobId,t?.jobId],"goal")??Sn([e.loopId,e.targetLoopId,t?.loopId,e.jobId,t?.jobId],"loop"))}function Cc(e){const t=h(e.metadata)?e.metadata:void 0;return!!Kt([e.goalId,e.targetGoalId,e.campaignId,e.loopId,e.targetLoopId,e.jobId,e.targetJobId,t?.goalId,t?.campaignId,t?.loopId,t?.jobId])}function Ea(e,t){const r=[];for(const o of["metadata","job","event","receipt","processingOutputSummary"]){const s=t[o];h(s)&&r.push(s)}const a=h(t.event)?t.event:void 0;h(a?.metadata)&&r.push(a.metadata),h(a?.processingOutputSummary)&&r.push(a.processingOutputSummary);const i=h(t.receipt)?t.receipt:void 0;h(i?.metadata)&&r.push(i.metadata);const n=r.some(Cc);for(const o of r)ya(e,o);(!n||vc(t))&&ya(e,t)}function wc(e){const t=Sc(e?.continuityStateUpdate),r=new Map;for(const i of t){Ea(r,i);const n=Array.isArray(i.operations)?i.operations.filter(h):[];for(const o of n)Ea(r,o)}const a=Array.from(r.values()).map(i=>er("continuity-state-update-operation-log",i.targetId,i.relatedJobIds));return St("continuity-state-update-operation-log",t.length>0,a,t.length>0&&a.every(i=>!i)?[be.MISSING]:void 0)}function _c(e){const t=ha(e);return St("explicit-args",t.length>0,t.map(r=>er("explicit-args",r)))}function Rc(e,t){const r=[Ec(e),Ic(e),wc(e),_c(t)];for(let a=0;a<r.length;a+=1){const i=r[a];if(!i.hasEvidence)continue;if(i.disabledReasonCodes&&i.disabledReasonCodes.length>0)return Ut(i.disabledReasonCodes);if(i.candidates.length!==1)return Ut([i.candidates.length>1?be.AMBIGUOUS:be.MISSING]);const n=i.candidates[0];for(const o of r.slice(a+1)){if(!o.hasEvidence)continue;if(o.disabledReasonCodes&&o.disabledReasonCodes.length>0)return Ut(o.disabledReasonCodes);if(o.candidates.length>1)return Ut([be.AMBIGUOUS]);const s=o.candidates[0];if(s&&!yc(n,s))return Ut([be.CONFLICT])}return{target:n.target,targetJobId:n.targetJobId,...n.initialCursor?{initialCursor:n.initialCursor}:{},source:n.source,serverHeldStream:!1}}return Ut([be.MISSING])}async function Ia(e,t,r,a={}){const i="/api/v1/invoke";let n,o;const s=await Jt(e,i,t,r,{...a,deferSuccessfulJsonParsing:!0,...t.privateExecution?{maxAttempts:1,allowReplayRetry:!1}:{},admitResponseBeforeBodyRead:w=>{const l=w.headers.get("X-Neocortex-Compatibility");if(l!==null)try{if(l.length===0||l.length>8192)throw new Error("header-size");const v=JSON.parse(Buffer.from(l,"base64url").toString("utf8"));if(!_i(v))throw new Error("header-shape");if(n=v,v.status==="incompatible")return o="incompatible",!1}catch{return o="malformed",!1}return a.admitResponseBeforeBodyRead?.(w)??!0}});if(s.networkFailure||!s.response)return{ok:!1,status:0,error:"Network error after bounded retries"};if(s.responseAdmissionRejected){const w=o==="malformed"?jt.RESULT_MALFORMED:n?.reasonCodes[0]??jt.OFFER_MALFORMED;return{ok:!1,status:s.response.status,error:`COMPATIBILITY_INCOMPATIBLE: ${w}`,errorBody:{error_code:"COMPATIBILITY_INCOMPATIBLE",reason_code:w,fallback_action:n?.remediationHint??"upgrade-client"},...n?{compatibility:n}:{}}}const{response:u,text:m}=s;let I=s.parsed;try{if(t.compatibility&&!n){if(/"(?:reviewReconciliation|review_reconciliation|reconciliationMetadata|releaseLifecycle|release_lifecycle|releaseBlocked|release_blocked|yoloopReleaseBlocked)"\s*:/u.test(m))return{ok:!1,status:u.status,error:`COMPATIBILITY_INCOMPATIBLE: ${jt.UNNEGOTIATED_PROTECTED_FIELD}`,errorBody:{error_code:"COMPATIBILITY_INCOMPATIBLE",reason_code:jt.UNNEGOTIATED_PROTECTED_FIELD,fallback_action:"upgrade-client"}};n=wi({clientVersion:t.compatibility.clientVersion,serverVersion:"0.0.0",registryVersion:t.registryVersion,registryChecksum:t.registryChecksum,reason:jt.SERVER_NEGOTIATION_MISSING})}if(u.ok)try{I=m?JSON.parse(m):{}}catch{return{ok:!1,status:u.status,error:"COMPATIBILITY_INCOMPATIBLE: response-json-malformed",errorBody:{error_code:"COMPATIBILITY_INCOMPATIBLE",reason_code:jt.RESULT_MALFORMED},...n?{compatibility:n}:{}}}if(!u.ok)return t.privateExecution?{ok:!1,status:u.status,error:"private-execution-invoke-unavailable"}:{ok:!1,status:u.status,error:Object.keys(I).length>0?`${I.error_code??"ERROR"}: ${I.message??m}`:`HTTP ${u.status}: ${m}`,errorBody:Object.keys(I).length>0?I:void 0,...n?{compatibility:n}:{}};const w=I,l=u.headers.get("X-Client-Version-Warning");return l&&!ra&&(ra=!0,process.stderr.write(`
20
+ `);return}if(t==="json"){r.write(JSON.stringify(Qo(e))+`
21
+ `);return}r.write(Ko(e)+`
22
+ `)}function Qn(e){return ro.has(e.status)}function Zo(e,t,r){if(t){const i=e.find(n=>n.jobId===t);return!!(i&&Qn(i))}return r<=0?!1:e.filter(i=>!Qn(i)).length===0}function ec(e,t,r,a){return r<a?!1:t?!e.some(i=>i.jobId===t&&!Qn(i)):e.length===0}function tc(e,t){return t?.aborted?Promise.resolve():new Promise(r=>{const a=setTimeout(i,e);function i(){clearTimeout(a),t?.removeEventListener("abort",i),r()}t?.addEventListener("abort",i,{once:!0})})}function nc(e){return e.includes(be.MALFORMED)?"malformed":e.includes(be.AMBIGUOUS)?"ambiguous":e.includes("watch-target-multiple")?"multiple":e.includes("watch-evidence-unsafe")?"unsafe":e.includes(be.MISSING)||e.includes(Se.TARGET_UNRESOLVED)?"unresolved":"unavailable"}function la(e,t){const r=t?zt(t):void 0,a=Ne([...e,Se.TARGET_UNRESOLVED,H.WATCH_TARGET_UNRESOLVED]),i=Kn(r,r?.targetId,nc(a),a),n=ot({generatedAt:new Date().toISOString()},[],!1,0,[H.WATCH_TARGET_UNRESOLVED]),o=Ze(void 0,void 0,void 0,[],[H.WATCH_TARGET_UNRESOLVED],"unavailable");return et({watchStatus:"blocked",active:!1,targetEvidence:i,snapshotEvidence:n,cursorEvidence:o,stopReason:"target_unresolved",reasonCodes:a,generatedAt:n.generatedAt})}function rc(e,t,r,a,i=!1){const n=la(e,fa(t));return tt(n,r,a,i),ct("target-unresolved",0,0,n,i)}async function ac(e){if(e.signal?.aborted){const P=Kn(e.target??zt(e.targetJobId),e.targetJobId,e.target??e.targetJobId?"resolved":"unresolved",[Se.CANCELLED]),S=ot(void 0,[],!1,0),_=Ze(e.initialCursor,e.initialCursor,e.initialCursor,[],[Se.CANCELLED],"unavailable"),Q=et({watchStatus:"stopped",active:!1,targetEvidence:P,snapshotEvidence:S,cursorEvidence:_,stopReason:"cancelled",reasonCodes:[Se.CANCELLED]});return ct("cancelled",0,0,Q,e.protectedOutput)}const t=e.target??zt(e.targetJobId),r=e.targetJobId??t?.targetId,a=e.stdout??process.stdout;if(!t){const P=la([be.MISSING,Se.TARGET_UNRESOLVED]);return tt(P,e.format,a,e.protectedOutput),ct("target-unresolved",0,0,P,e.protectedOutput)}const i=En(e.limit??In("NEOCORTEX_INVOKE_WATCH_LIMIT",Sr),Sr,50),n=Math.max(50,En(e.pollIntervalMs??In("NEOCORTEX_INVOKE_WATCH_POLL_INTERVAL_MS",wr),wr,6e4)),o=En(e.maxIdlePolls??In("NEOCORTEX_INVOKE_WATCH_MAX_IDLE_POLLS",vr),vr,120),s=En(e.maxPolls??In("NEOCORTEX_INVOKE_WATCH_MAX_POLLS",Cr),Cr,86400),u=e.sleep??tc;let g=e.initialCursor,y=0,w=0,l=0;const v=Kn(t,r,"resolved",[H.OK]),E={schemaVersion:1,contractVersion:"continuity-v1",snapshotStatus:"pending",renderedSummaryCount:0,reasonCodes:[H.WATCH_RENDER_PENDING],publicSafe:!0},p=Ze(e.initialCursor,g,g,[],e.initialCursor?[H.WATCH_CURSOR_UNCHANGED]:[H.WATCH_NO_SUMMARIES_YET],e.initialCursor?"unchanged":"not_started");tt(et({watchStatus:"active",active:!0,targetEvidence:v,snapshotEvidence:E,cursorEvidence:p,stopReason:"not_stopped",reasonCodes:[H.OK]}),e.format,a,e.protectedOutput);let C;try{C=await ni({projectRoot:e.projectRoot,strictReadOnly:e.strictReadOnly})}catch{const P=ot(void 0,[],!1,y,[H.WATCH_SNAPSHOT_UNAVAILABLE]),S=Ze(e.initialCursor,g,g,[],[H.WATCH_EVIDENCE_UNAVAILABLE],"unavailable"),_=et({watchStatus:"blocked",active:!1,targetEvidence:v,snapshotEvidence:P,cursorEvidence:S,stopReason:"unavailable_evidence",reasonCodes:[Se.STORE_UNAVAILABLE]});return tt(_,e.format,a,e.protectedOutput),ct("store-unavailable",y,l,_,e.protectedOutput)}try{for(;!e.signal?.aborted&&l<s;){l+=1;const P=g,S=C.collectProcessingOutputSummaryCursor({...g?{cursor:g}:{},...t?{target:t}:{},...r?{jobId:r}:{},limit:i}),_=C.collectSnapshot({jobLimit:50,processingSummaryLimit:1}),Q=_.jobs;if(S.summaries.length>0){for(const N of S.summaries)Xo(N,e.format,a,e.protectedOutput),y+=1;g=S.nextCursor??S.summaries[S.summaries.length-1]?.cursor??g,w=0}else g=S.nextCursor??g,w+=1;const M=ot(_,S.summaries,!0,S.summaries.length),U=Ze(e.initialCursor,P,g,S.summaries,S.summaries.length>0?[H.WATCH_CURSOR_ADVANCED]:[H.WATCH_NO_SUMMARIES_YET]);if(tt(et({watchStatus:S.summaries.length>0?"polling":"waiting",active:!0,targetEvidence:v,snapshotEvidence:M,cursorEvidence:U,stopReason:"not_stopped",reasonCodes:S.summaries.length>0?[H.WATCH_CURSOR_ADVANCED]:[H.WATCH_NO_SUMMARIES_YET],generatedAt:_.generatedAt}),e.format,a,e.protectedOutput),!S.hasMore&&Zo(Q,r,y)){const N=ot(_,S.summaries,!1,y,[Se.COMPLETED]),ie=Ze(e.initialCursor,P,g,S.summaries,[Se.COMPLETED],"exhausted"),D=et({watchStatus:"stopped",active:!1,targetEvidence:v,snapshotEvidence:N,cursorEvidence:ie,stopReason:"not_stopped",reasonCodes:[Se.COMPLETED],generatedAt:_.generatedAt});return tt(D,e.format,a,e.protectedOutput),ct("completed",y,l,D,e.protectedOutput)}if(!S.hasMore&&ec(Q,r,w,o)){const N=ot(_,S.summaries,!1,y,[H.WATCH_STOP_IDLE_LIMIT_REACHED]),ie=Ze(e.initialCursor,P,g,S.summaries,[H.WATCH_STOP_IDLE_LIMIT_REACHED],"exhausted"),D=et({watchStatus:"stopped",active:!1,targetEvidence:v,snapshotEvidence:N,cursorEvidence:ie,stopReason:"idle_limit_reached",reasonCodes:[Se.IDLE_TIMEOUT,H.WATCH_STOP_IDLE_LIMIT_REACHED],generatedAt:_.generatedAt});return tt(D,e.format,a,e.protectedOutput),ct("idle-timeout",y,l,D,e.protectedOutput)}S.hasMore||await u(n,e.signal)}}catch{const P=ot(void 0,[],!1,y,[H.WATCH_SNAPSHOT_UNAVAILABLE]),S=Ze(e.initialCursor,g,g,[],[H.WATCH_EVIDENCE_UNAVAILABLE],"unavailable"),_=et({watchStatus:"blocked",active:!1,targetEvidence:v,snapshotEvidence:P,cursorEvidence:S,stopReason:"unavailable_evidence",reasonCodes:[Se.STORE_UNAVAILABLE]});return tt(_,e.format,a,e.protectedOutput),ct("store-unavailable",y,l,_,e.protectedOutput)}finally{C.close()}if(e.signal?.aborted){const P=ot(void 0,[],!1,y,[Se.CANCELLED]),S=Ze(e.initialCursor,g,g,[],[Se.CANCELLED],"unavailable"),_=et({watchStatus:"stopped",active:!1,targetEvidence:v,snapshotEvidence:P,cursorEvidence:S,stopReason:"cancelled",reasonCodes:[Se.CANCELLED]});return tt(_,e.format,a,e.protectedOutput),ct("cancelled",y,l,_,e.protectedOutput)}const O=ot(void 0,[],!1,y,[H.WATCH_STOP_MAX_POLLS_REACHED]),V=Ze(e.initialCursor,g,g,[],[H.WATCH_STOP_MAX_POLLS_REACHED],"exhausted"),T=et({watchStatus:"stopped",active:!1,targetEvidence:v,snapshotEvidence:O,cursorEvidence:V,stopReason:"max_polls_reached",reasonCodes:[Se.MAX_POLLS,H.WATCH_STOP_MAX_POLLS_REACHED]});return tt(T,e.format,a,e.protectedOutput),ct("max-polls",y,l,T,e.protectedOutput)}function ze(e){const t=e.trim().replace(/^@/,"").match(/^(job|goal|loop)-([JGL])(\d{3,})$/i);if(!t)return;const r=t[1].toLowerCase(),a=t[2].toUpperCase();if(!(r==="job"&&a!=="J"||r==="goal"&&a!=="G"||r==="loop"&&a!=="L"))return`${r}-${a}${t[3]}`}function Xn(e){if(e.startsWith("job-J"))return"job";if(e.startsWith("goal-G"))return"goal";if(e.startsWith("loop-L"))return"loop"}function ha(e){const t=[],r=/(?:^|[\s"'([,{])@?(job-[Jj]\d{3,}|goal-[Gg]\d{3,}|loop-[Ll]\d{3,})(?=$|[\s"')\]},.;:!?])/g;let a;for(;(a=r.exec(e))!==null;){const i=ze(a[1]);i&&t.push(i)}return Ne(t)}function fa(e){return ha(e)[0]}function zt(e){const t=e?ze(e):void 0;if(t){if(t.startsWith("job-J"))return{selectorKind:"job",targetId:t,jobId:t,publicSafe:!0};if(t.startsWith("goal-G"))return{selectorKind:"goal",targetId:t,goalId:t,publicSafe:!0};if(t.startsWith("loop-L"))return{selectorKind:"loop",targetId:t,loopId:t,publicSafe:!0}}}function Zn(e){return Ne(e.filter(t=>typeof t=="string").map(t=>ze(t)).filter(t=>!!t?.startsWith("job-J")))}function ic(e,t){const r=Zn(t).filter(a=>a!==e.targetId&&a!==e.jobId);return r.length>0?{...e,relatedJobIds:r}:e}function oc(e){if(!e)return;const t=h(e.target)?e.target:void 0,r=typeof e.selectorKind=="string"?e.selectorKind:typeof t?.selectorKind=="string"?t.selectorKind:void 0,a=typeof e.targetId=="string"?ze(e.targetId):typeof t?.targetId=="string"?ze(t.targetId):typeof e.targetJobId=="string"?ze(e.targetJobId):void 0,i=zt(a);if(!i||r&&r!==i.selectorKind)return;const n=Array.isArray(e.relatedJobIds)?e.relatedJobIds:Array.isArray(t?.relatedJobIds)?t.relatedJobIds:void 0,o=Zn([...n??[],e.jobId,t?.jobId,e.targetJobId,t?.targetJobId]).filter(s=>s!==i.targetId&&s!==i.jobId);return{...i,...typeof(e.jobId??t?.jobId)=="string"?{jobId:ze(e.jobId??t?.jobId)??i.jobId}:{},...typeof(e.goalId??t?.goalId)=="string"?{goalId:ze(e.goalId??t?.goalId)??i.goalId}:{},...typeof(e.loopId??t?.loopId)=="string"?{loopId:ze(e.loopId??t?.loopId)??i.loopId}:{},...o.length>0?{relatedJobIds:o}:{}}}function ga(e){const t=e.trim().split(/\s+/).filter(Boolean),r=t[0]?.replace(/^\*/,"").toLowerCase(),a=t[1]?.replace(/^--/,"").toLowerCase();return(r==="jobs"||r==="job"||r==="continuity-jobs"||r==="61")&&a==="watch"}const Re=Object.freeze({ACTIVE:"command-level-watch-active",INACTIVE:"command-level-watch-inactive",DUPLICATE:"command-level-watch-duplicate",AMBIGUOUS:"command-level-watch-ambiguous",QUOTED:"command-level-watch-quoted",MALFORMED:"command-level-watch-malformed",NON_FINAL:"command-level-watch-non-final",UNRESOLVED:"command-level-watch-unresolved",UNSUPPORTED:"command-level-watch-unsupported",TARGET_INVALID:"command-level-watch-target-invalid"}),cc=new Set(["create","start","resume"]),sc=new Set(["create","resume","run-once"]);function er(e,t,r,a,i){return{schemaVersion:1,contractVersion:"continuity-v1",...r?{command:r}:{},...a?{operation:a}:{},active:e,...i?{watchToken:i}:{},reasonCodes:Ne(t),serverHeldStream:!1,allJobsPolling:!1,targetResolution:e?"required-after-dispatch":"inactive",publicSafe:!0}}function xe(e,t=[],r,a){const i=t.length>0?t:[Re.INACTIVE];return{args:e,watch:!1,reasonCodes:i,metadata:er(!1,i,r,a),publicSafe:!0}}function dc(e){const t=e.trim().split(/\s+/).filter(Boolean),r=t.slice(2).filter(n=>n==="--watch").length;if(r===0)return xe(e,[],"jobs","watch");if(r!==1)return xe(e,[Re.AMBIGUOUS],"jobs","watch");const a=t.filter((n,o)=>o<2||n!=="--watch").join(" ");return ga(a)?a.trim().split(/\s+/).filter(Boolean).slice(2).length!==1?xe(e,[Re.AMBIGUOUS],"jobs","watch"):fa(a)?{args:a,watch:!0,reasonCodes:[Re.ACTIVE],metadata:er(!0,[Re.ACTIVE],"jobs","watch"),publicSafe:!0}:xe(e,[Re.TARGET_INVALID],"jobs","watch"):xe(e,[Re.UNSUPPORTED],"jobs","watch")}function pc(e){const t=[];let r=!1,a=0;for(;a<e.length;){for(;a<e.length&&/\s/.test(e[a]);)a+=1;if(a>=e.length)break;const i=a;let n="",o=!1,s=null;for(;a<e.length;){const u=e[a];if(s){if(u===s){o=!0,s=null,a+=1;continue}if(u==="\\"&&a+1<e.length){n+=e[a+1],a+=2;continue}n+=u,a+=1;continue}if(/\s/.test(u))break;if(u==='"'||u==="'"){o=!0,s=u,a+=1;continue}n+=u,a+=1}s&&(r=!0),t.push({value:n,start:i,end:a,quoted:o})}return{tokens:t,malformed:r}}function uc(e){if(!e||e.quoted)return;const t=e.value.replace(/^\*/,"").toLowerCase();return t==="goal"||t==="loop"?t:void 0}function lc(e,t){if(!e||e==="jobs"||!t||t.quoted)return;const r=t.value.toLowerCase();return(e==="goal"?cc:sc).has(r)?r:void 0}function hc(e){return!e.quoted&&e.value!=="--watch"&&e.value.toLowerCase().startsWith("--watch")}function fc(e){const{tokens:t,malformed:r}=pc(e),a=uc(t[0]),i=lc(a,t[1]);if(r)return xe(e,[Re.MALFORMED],a,i);const n=t.filter(l=>l.value==="--watch"&&!l.quoted),o=t.filter(l=>l.value==="--watch"&&l.quoted),s=t.filter(hc);if(!(n.length>0||o.length>0||s.length>0))return xe(e,[],a,i);if(n.length>1)return xe(e,[Re.DUPLICATE],a,i);if(n.length===1&&(o.length>0||s.length>0))return xe(e,[Re.AMBIGUOUS],a,i);if(o.length>0)return xe(e,[Re.QUOTED],a,i);if(s.length>0)return xe(e,[Re.MALFORMED],a,i);const g=n[0];if(!g)return xe(e,[],a,i);if(t[t.length-1]!==g)return xe(e,[Re.NON_FINAL],a,i);if(!a||!i)return xe(e,[Re.UNRESOLVED],a,i);const y=`${e.slice(0,g.start)}${e.slice(g.end)}`.trim(),w={literal:"--watch",position:"final",start:g.start,end:g.end,quoted:!1,publicSafe:!0};return{args:y,watch:!0,reasonCodes:[Re.ACTIVE],metadata:er(!0,[Re.ACTIVE],a,i,w),publicSafe:!0}}function gc(e){return ga(e)?dc(e):fc(e)}function mc(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"&&ao.has(t)):[]}function Ut(e){return{disabled:!0,reasonCodes:Ne(e.length>0?e:[be.MISSING])}}function tr(e,t,r=[],a){const i=zt(t);if(i)return{source:e,target:ic(i,r),targetJobId:i.targetId,...a?{initialCursor:a}:{},serverHeldStream:!1}}function yc(e){const t=new Map;for(const r of e){const a=`${r.target.selectorKind}:${r.target.targetId}`,i=t.get(a);if(!i){t.set(a,r);continue}const n=Ne([...i.target.relatedJobIds??[],...r.target.relatedJobIds??[]]);t.set(a,{...i,target:n.length>0?{...i.target,relatedJobIds:n}:i.target,initialCursor:i.initialCursor??r.initialCursor})}return Array.from(t.values())}function St(e,t,r,a){return{source:e,hasEvidence:t,candidates:yc(r.filter(i=>!!i)),...a&&a.length>0?{disabledReasonCodes:Ne(a)}:{}}}function Ec(e,t){return e.target.selectorKind===t.target.selectorKind&&e.target.targetId===t.target.targetId}function Kt(e,t){const r=Ne(e.filter(a=>typeof a=="string").map(a=>ze(a)).filter(a=>!!a));if(t){const a=r.find(i=>Xn(i)===t);if(a)return a}return r[0]}function Sn(e,t){return Ne(e.filter(r=>typeof r=="string").map(r=>ze(r)).filter(r=>!!r)).find(r=>Xn(r)===t)}function Ic(e){const t=h(e?.continuity)?e.continuity:void 0,r=h(t?.jobs)?t.jobs:void 0,a=h(r?.watcher)?r.watcher:void 0,i=mc(a?.reasonCodes??r?.reasonCodes);if(!a)return St("watcher-metadata",i.length>0,[],i);if(a.active===!1||i.length>0)return St("watcher-metadata",!0,[],i.length>0?i:[be.MALFORMED]);if(a.serverHeldStream!==!1)return St("watcher-metadata",!0,[],[be.SERVER_HELD_STREAM]);const n=oc(a);if(!n)return St("watcher-metadata",!0,[],[be.MISSING]);const o=typeof a.initialCursor=="string"?a.initialCursor:void 0;return St("watcher-metadata",!0,[{source:"watcher-metadata",target:n,targetJobId:n.targetId,...o?{initialCursor:o}:{},serverHeldStream:!1}])}function ma(e,t){const r=h(e.loopJobPlan)?e.loopJobPlan:void 0,a=h(r?.metadata)?r.metadata:void 0,i=h(e.metadata)?e.metadata:void 0,o=(t==="goal"?Kt([e.goalId,e.targetGoalId,e.campaignId,e.jobId,e.targetJobId,i?.goalId,i?.campaignId,i?.jobId],"goal"):Kt([e.loopId,e.targetLoopId,e.jobId,e.targetJobId,i?.loopId,i?.jobId,a?.loopId,a?.jobId],"loop"))??Kt([e.jobId,e.targetJobId,i?.jobId,a?.jobId]);return tr("goal-loop-continuity-metadata",o,[e.jobId,e.targetJobId,i?.jobId,a?.jobId])}function Sc(e){const t=h(e?.continuity)?e.continuity:void 0,r=h(t?.goal)?t.goal:void 0,a=h(t?.loop)?t.loop:void 0,i=[r?ma(r,"goal"):void 0,a?ma(a,"loop"):void 0],n=!!(r||a);return St("goal-loop-continuity-metadata",n,i,n&&i.every(o=>!o)?[be.MISSING]:void 0)}function vc(e){return Array.isArray(e)?e.filter(h):h(e)?Array.isArray(e.operationLogs)?e.operationLogs.filter(h):h(e.operationLog)?[e.operationLog]:Array.isArray(e.operations)?[e]:[]:[]}function ya(e,t){const r=h(t.metadata)?t.metadata:void 0,a=Sn([t.goalId,t.targetGoalId,t.campaignId,r?.goalId,r?.campaignId,t.jobId,r?.jobId],"goal"),i=Sn([t.loopId,t.targetLoopId,r?.loopId,t.jobId,r?.jobId],"loop"),n=Kt([t.jobId,t.targetJobId,r?.jobId],"job"),o=a??i??n;if(!o)return;const s=e.get(o)??{targetId:o,relatedJobIds:[]};s.relatedJobIds.push(...Zn([n,t.jobId,t.targetJobId,r?.jobId])),e.set(o,s)}function Cc(e){const t=h(e.metadata)?e.metadata:void 0;return!!(Sn([e.goalId,e.targetGoalId,e.campaignId,t?.goalId,t?.campaignId,e.jobId,t?.jobId],"goal")??Sn([e.loopId,e.targetLoopId,t?.loopId,e.jobId,t?.jobId],"loop"))}function wc(e){const t=h(e.metadata)?e.metadata:void 0;return!!Kt([e.goalId,e.targetGoalId,e.campaignId,e.loopId,e.targetLoopId,e.jobId,e.targetJobId,t?.goalId,t?.campaignId,t?.loopId,t?.jobId])}function Ea(e,t){const r=[];for(const o of["metadata","job","event","receipt","processingOutputSummary"]){const s=t[o];h(s)&&r.push(s)}const a=h(t.event)?t.event:void 0;h(a?.metadata)&&r.push(a.metadata),h(a?.processingOutputSummary)&&r.push(a.processingOutputSummary);const i=h(t.receipt)?t.receipt:void 0;h(i?.metadata)&&r.push(i.metadata);const n=r.some(wc);for(const o of r)ya(e,o);(!n||Cc(t))&&ya(e,t)}function _c(e){const t=vc(e?.continuityStateUpdate),r=new Map;for(const i of t){Ea(r,i);const n=Array.isArray(i.operations)?i.operations.filter(h):[];for(const o of n)Ea(r,o)}const a=Array.from(r.values()).map(i=>tr("continuity-state-update-operation-log",i.targetId,i.relatedJobIds));return St("continuity-state-update-operation-log",t.length>0,a,t.length>0&&a.every(i=>!i)?[be.MISSING]:void 0)}function Rc(e){const t=ha(e);return St("explicit-args",t.length>0,t.map(r=>tr("explicit-args",r)))}function Ac(e,t){const r=[Ic(e),Sc(e),_c(e),Rc(t)];for(let a=0;a<r.length;a+=1){const i=r[a];if(!i.hasEvidence)continue;if(i.disabledReasonCodes&&i.disabledReasonCodes.length>0)return Ut(i.disabledReasonCodes);if(i.candidates.length!==1)return Ut([i.candidates.length>1?be.AMBIGUOUS:be.MISSING]);const n=i.candidates[0];for(const o of r.slice(a+1)){if(!o.hasEvidence)continue;if(o.disabledReasonCodes&&o.disabledReasonCodes.length>0)return Ut(o.disabledReasonCodes);if(o.candidates.length>1)return Ut([be.AMBIGUOUS]);const s=o.candidates[0];if(s&&!Ec(n,s))return Ut([be.CONFLICT])}return{target:n.target,targetJobId:n.targetJobId,...n.initialCursor?{initialCursor:n.initialCursor}:{},source:n.source,serverHeldStream:!1}}return Ut([be.MISSING])}async function Ia(e,t,r,a={}){const i="/api/v1/invoke";let n,o;const s=await Jt(e,i,t,r,{...a,deferSuccessfulJsonParsing:!0,...t.privateExecution?{maxAttempts:1,allowReplayRetry:!1}:{},admitResponseBeforeBodyRead:w=>{const l=w.headers.get("X-Neocortex-Compatibility");if(l!==null)try{if(l.length===0||l.length>8192)throw new Error("header-size");const v=JSON.parse(Buffer.from(l,"base64url").toString("utf8"));if(!_i(v))throw new Error("header-shape");if(n=v,v.status==="incompatible")return o="incompatible",!1}catch{return o="malformed",!1}return a.admitResponseBeforeBodyRead?.(w)??!0}});if(s.networkFailure||!s.response)return{ok:!1,status:0,error:"Network error after bounded retries"};if(s.responseAdmissionRejected){const w=o==="malformed"?jt.RESULT_MALFORMED:n?.reasonCodes[0]??jt.OFFER_MALFORMED;return{ok:!1,status:s.response.status,error:`COMPATIBILITY_INCOMPATIBLE: ${w}`,errorBody:{error_code:"COMPATIBILITY_INCOMPATIBLE",reason_code:w,fallback_action:n?.remediationHint??"upgrade-client"},...n?{compatibility:n}:{}}}const{response:u,text:g}=s;let y=s.parsed;try{if(t.compatibility&&!n){if(/"(?:reviewReconciliation|review_reconciliation|reconciliationMetadata|releaseLifecycle|release_lifecycle|releaseBlocked|release_blocked|yoloopReleaseBlocked)"\s*:/u.test(g))return{ok:!1,status:u.status,error:`COMPATIBILITY_INCOMPATIBLE: ${jt.UNNEGOTIATED_PROTECTED_FIELD}`,errorBody:{error_code:"COMPATIBILITY_INCOMPATIBLE",reason_code:jt.UNNEGOTIATED_PROTECTED_FIELD,fallback_action:"upgrade-client"}};n=wi({clientVersion:t.compatibility.clientVersion,serverVersion:"0.0.0",registryVersion:t.registryVersion,registryChecksum:t.registryChecksum,reason:jt.SERVER_NEGOTIATION_MISSING})}if(u.ok)try{y=g?JSON.parse(g):{}}catch{return{ok:!1,status:u.status,error:"COMPATIBILITY_INCOMPATIBLE: response-json-malformed",errorBody:{error_code:"COMPATIBILITY_INCOMPATIBLE",reason_code:jt.RESULT_MALFORMED},...n?{compatibility:n}:{}}}if(!u.ok)return t.privateExecution?{ok:!1,status:u.status,error:"private-execution-invoke-unavailable"}:{ok:!1,status:u.status,error:Object.keys(y).length>0?`${y.error_code??"ERROR"}: ${y.message??g}`:`HTTP ${u.status}: ${g}`,errorBody:Object.keys(y).length>0?y:void 0,...n?{compatibility:n}:{}};const w=y,l=u.headers.get("X-Client-Version-Warning");return l&&!ra&&(ra=!0,process.stderr.write(`
23
23
  [Neocortex] ${l}
24
24
 
25
- `)),{ok:!0,status:u.status,data:w,...n?{compatibility:n}:{}}}catch(w){return{ok:!1,status:0,error:(w instanceof Error?w.message:String(w)).includes("abort")?`Request timeout after ${Nr/1e3}s`:"Network error: invalid response"}}}async function Ac(e,t,r){const a=await Jt(e,"/api/v1/invoke/private-execution/consume",t,r,{maxAttempts:1,allowReplayRetry:!1});if(a.networkFailure||!a.response||!a.response.ok)throw new Error("private-execution-delivery-unavailable");return a.parsed}async function bc(e,t,r){const a=await Jt(e,"/api/v1/invoke/private-execution/cancel",t,r,{maxAttempts:1,allowReplayRetry:!1});return!!a.response?.ok&&a.parsed.status==="cancelled"}async function Sa(e,t,r,a={}){const i=await Jt(e,"/api/v1/invoke/epic-claims/acknowledge",{...r,registryVersion:gt,registryChecksum:mt},t,a);return!!i.response?.ok&&i.parsed.status==="ok"&&i.parsed.claimOutcome===r.status&&(!r.planningCheckpoint||i.parsed.memoryReceiptId===r.planningCheckpoint.memoryReceiptId)}async function xc(e,t,r,a,i,n={}){if(!i)return 0;const o=Vt(e);let s=0;for(const[u,m]of Object.entries(o.operations))m.planningProtocol==="root-staged-v1"||!m.claimId||!m.epicId||!t.epics?.[m.epicId]||!await Sa(r,a,{claimId:m.claimId,projectId:i,epicId:m.epicId,status:"materialized"},n)||(Xi(e,u),s+=1);return s}function Tc(e,t){const r=t.state.pendingContinuationAuthorities,a=t.state.continuationSession;if(t.state.continuationPolicy!=="p205-finite-resume-v2"||r?.length!==1||!a)return;const i=r[0],n=i.certificate,o=n?.expectedTransition;if(i.storyIds!=="[CIRCULAR]"||n?.rank!=="[CIRCULAR]"||o?.selectedStoryIds!=="[CIRCULAR]")return;const s=typeof a.epicId=="string"?a.epicId:"",u=e.epics[s],m=Array.isArray(o.storyLifecycle)?o.storyLifecycle:[],I=m.length===1&&typeof m[0]?.storyId=="string"?m[0].storyId:"",l=e.stories[I]?.checkpoint;if(!u||u.branch_mode!=="epic"||typeof u.execution_branch!="string"||typeof u.origin_branch!="string"||u.branch_lease!==void 0&&u.branch_lease!==null||!l||l.qaVerdict!=="passed"||l.reviewVerdict!=="approved"||!Array.isArray(l.receiptRefs))return;const y=(Array.isArray(u.stories)?u.stories.filter(p=>typeof p=="string"):[]).find(p=>{const C=e.stories[p];return!C||["done","completed","merged"].includes(String(C.status))?!1:(Array.isArray(C.depends_on)?C.depends_on.filter(V=>typeof V=="string"):[]).every(V=>["done","completed","merged"].includes(String(e.stories[V]?.status)))});if(y)return{epicId:s,expectedNextStoryId:y,branchMode:"epic",executionBranch:u.execution_branch,originBranch:u.origin_branch,branchLeaseReleased:!0,checkpoint:{schemaVersion:1,storyId:l.storyId,epicId:l.epicId,branch:l.branch,baseSha:l.baseSha,headSha:l.headSha,receiptRefs:[...l.receiptRefs],qaVerdict:"passed",reviewVerdict:"approved"}}}async function Pc(e){let t;try{if(t=e.inputEnvelope??cn(e.inputSource??"args",e.args),yi(t),t.rawArgs!==e.args)throw new Error("INVOKE_INPUT_ENVELOPE_ARGUMENT_CONFLICT")}catch{return{success:!1,error:"INVOCATION_MALFORMED_INPUT: explicit input integrity could not be verified.",errorCode:"INVOCATION_MALFORMED_INPUT",metadata:{invocationInput:{reason:"input-integrity-conflict",remediation:"Retry with exactly one of --args, --stdin or --args-file.",publicSafe:!0}},exitCode:1}}const r=t.rawArgs,a=br(t);let i=r,n=a;const o=to(r);if(o.outcome!=="resolved"){const c=Ii(o,"client"),d=o.outcome==="malformed_input"?o.reason==="input_limit"||o.reason==="token_limit"||o.reason==="token_size_limit"?"input-limit-exceeded":o.reason==="invalid_control"||o.reason==="invalid_surrogate"?"invalid-control-character":o.reason==="unterminated_quote"||o.reason==="trailing_escape"||o.reason==="unsupported_escape"?"unterminated-quote":void 0:void 0,g=d?{code:"INVOCATION_MALFORMED_INPUT",reason:d,source:t.source,byteLength:t.byteLength,remediation:d==="input-limit-exceeded"?"Reduce the explicit command input or split the requested work into bounded invocations.":d==="invalid-control-character"?"Remove invalid control characters and retry with valid UTF-8 text.":"Close quotes and escapes, or use --stdin/--args-file for multiline content."}:void 0;return{success:!1,error:`INVOCATION_${o.outcome.toUpperCase()}`,errorCode:`INVOCATION_${o.outcome.toUpperCase()}`,metadata:{invocationAdmission:c,...g?{invocationInput:g}:{}},exitCode:1}}if(e.privateExecutionModel!==void 0&&(!e.privateExecutionBeta||e.strictReadOnly||!/^gpt-[a-z0-9][a-z0-9.-]{0,63}$/.test(e.privateExecutionModel)))return{success:!1,error:"private-codex-model-invalid",errorCode:"private-codex-model-invalid",exitCode:1};const s=Mn(e.projectRoot),u=o.selection.commandId,m=u==="yolo"&&!Er(r,u)?Ui(r):null,I=u==="tech-debt"&&o.selection.positionals.length===0&&(o.selection.operationId==="scan"&&Object.keys(o.selection.options).length===0||o.selection.operationId===void 0&&o.selection.options.scan===!0&&Object.keys(o.selection.options).length===1),w=Ua.find(c=>c.id===u),l=w?.subcommands.find(c=>c.id===o.selection.operationId),v=l?l.policy.strictReadOnly==="allow":w?.policy.strictReadOnly==="allow",y=u==="diagnose";let p;try{p=fi({invocationId:nn(),intent:e.strictReadOnly||y?{schemaVersion:1,policy:ui,registryVersion:gt,registryChecksum:mt}:void 0,registryVersion:gt,registryChecksum:mt,registryAllowsStrict:v,requestCanonicalBytes:JSON.stringify({command:u})})}catch(c){if(c instanceof Dt)return{success:!1,error:c.code,errorCode:c.code,exitCode:1};throw c}{p.beginProjection();for(const c of Ar)p.project(c);for(const c of li)p.project(c);p.seal()}const C=p.mode==="strict";if(u==="create-epic"||u==="idea-diagnose")try{const c=xi(s);if(c&&c!=="finalized")return{success:!1,error:'PROJECT_IDENTITY_MIGRATION_INCOMPLETE: retry `neocortex-client invoke --args "*migrate-project-id"` before create-epic.',errorCode:"PROJECT_IDENTITY_MIGRATION_INCOMPLETE",metadata:{projectIdentityMigration:{phase:c,publicSafe:!0}},exitCode:1}}catch(c){const d=c instanceof On?c.code:"PROJECT_IDENTITY_MIGRATION_STATE_CORRUPT";return{success:!1,error:d,errorCode:d,exitCode:1}}const k=e.environment??process.env;if(e.privateExecutionBeta&&(u!=="yolo"&&u!=="research"&&u!=="write-spec"&&u!=="create-tasks"&&u!=="implement"&&u!=="exec"&&u!=="create-epic"&&u!=="idea-diagnose"&&u!=="idea-research"&&u!=="generate-epic"&&u!=="sync-openapi"&&u!=="chaos-plan"&&u!=="ui-ux-review"&&u!=="arch-prd"&&u!=="arch-architecture"&&u!=="arch-fitness-functions"&&u!=="arch-api-contracts"&&u!=="arch-api-integrations"&&u!=="arch-database"&&u!=="arch-security"&&u!=="arch-design-system"&&u!=="arch-performance"&&u!=="arch-testing"&&u!=="arch-infrastructure"&&u!=="arch-review"&&u!=="update-memory"&&u!=="arch-ux-design"&&u!=="generate-pacts"&&u!=="property-test"&&!I||C||e.platformTarget!==void 0&&e.platformTarget!=="codex"))return{success:!1,error:"PRIVATE_EXECUTION_BETA_UNSUPPORTED",errorCode:"PRIVATE_EXECUTION_BETA_UNSUPPORTED",exitCode:1};const V=oi({cwd:s,env:k,targetFlag:e.privateExecutionBeta?"codex":e.platformTarget}),T=V.targetId,P=e.privateExecutionBeta?void 0:ii({cwd:s,env:k,targetFlag:e.platformTarget,nativeHostVersion:po(V,k)},V);if(m)try{Wn(s,{allowMissingRuntime:!0})}catch(c){const d=c instanceof it?c.reasonCode:"git-lifecycle-state-corrupt";return process.stderr.write(`[Neocortex] ${d}. No request was sent; repair the canonical project state/runtime sidecar and retry.
26
- `),{success:!1,error:d,errorCode:"GIT_LIFECYCLE_STATE_INVALID",exitCode:1}}let S=m?kn({strictReadOnly:!0}):ta(p);const _=(e.serverUrl??S?.serverUrl??Ga).replace(/\/+$/,"");let Q;if(m){const c=await Bi(_);if(!c.supported)return{success:!1,error:`YOLO_INVOKE_ENVELOPE_CAPABILITY_UNAVAILABLE: target server does not advertise ${si}; Local YOLO/TDD Release Gate was not executed and no invoke request was sent.`,errorCode:"YOLO_INVOKE_ENVELOPE_CAPABILITY_UNAVAILABLE",metadata:{yoloInvokeEnvelopeCapability:c},exitCode:1};try{Q=Pr({projectRoot:s,storyId:m,epicId:m.split(".")[0],inputSha256:n.sha256,onOmittedReferences:d=>process.stderr.write(`[Neocortex] yolo-spec-supporting-references-omitted count=${d}; core story artifacts preserved.
27
- `)})}catch(d){const g=d instanceof Error&&/^yolo-spec-envelope-[a-z-]+$/.test(d.message)?d.message:"yolo-spec-envelope-unsafe";return{success:!1,error:g,errorCode:g,exitCode:1}}S=ta(p)}if(u!=="migrate-project-id"&&p.execute({phase:"client-preflight",domain:"client-persistence",category:"first-run-marker",operation:"create"},()=>Zi(),()=>{}),u==="migrate-project-id"){const c=await Ti(_);if(!c.supported)return{success:!1,error:"PROJECT_IDENTITY_MIGRATION_CAPABILITY_UNAVAILABLE: the server did not advertise the versioned migration capability; no local state was changed.",errorCode:"PROJECT_IDENTITY_MIGRATION_CAPABILITY_UNAVAILABLE",metadata:{projectIdentityMigrationCapability:c},exitCode:1};const d=[];let g;try{g=bi(s)}catch(B){const Ee=B instanceof On?B.code:"PROJECT_IDENTITY_MIGRATION_PREPARE_FAILED";return{success:!1,error:Ee,errorCode:Ee,exitCode:1}}d.push(Mt({phase:"prepare",outcome:g.changed&&g.document.phase==="prepared"?"prepared":"retry",floor:g.document.legacyEpicFloor,licenseId:"local-client",projectId:g.document.projectId}));const b=gn(s);if(b.config.project_id!==g.document.projectId)return{success:!1,error:"PROJECT_IDENTITY_MIGRATION_STATE_DRIFT",errorCode:"PROJECT_IDENTITY_MIGRATION_STATE_DRIFT",metadata:{invocationDiagnostics:d},exitCode:1};const q=await na(_,S?.licenseKey,p);if(q.status!=="authenticated"){const B=q.status==="refresh-required";return{success:!1,error:B?"Authentication refresh required. Run: neocortex activate YOUR-LICENSE-KEY":"Not authenticated. Visit https://neocortex.sh/portal/login to get your license key, then run: neocortex activate YOUR-LICENSE-KEY",errorCode:B?"AUTH_REFRESH_REQUIRED":"NOT_CONFIGURED",metadata:{invocationDiagnostics:d},exitCode:B?1:2}}let he;try{he=yr(e.args.trim(),b)}catch(B){const Ee=B instanceof Ir?B.code:"PROJECT_IDENTITY_MIGRATION_PROJECTION_FAILED";return{success:!1,error:Ee,errorCode:Ee,metadata:{invocationDiagnostics:d},exitCode:1}}let de={args:r,projectRoot:s.replace(Yt(),"~"),stateSnapshot:he,platformTarget:T,...P?{nativeHostAttestation:P}:{},projectId:g.document.projectId,projectIdentityMigration:g.request,inputEvidence:a,idempotencyKey:g.document.operationId,registryVersion:gt,registryChecksum:mt,compatibility:Vn()};try{de=sa(de).body}catch(B){if(B instanceof Bn||B instanceof Un)return{success:!1,error:B.message,errorCode:B.code,metadata:{invokePayload:B.telemetry,invocationDiagnostics:d},exitCode:1};throw B}const ne=await Rr("invoke-query",()=>Ia(_,de,q.token,{refreshToken:()=>q.client.forceRefresh()}));if(!ne.ok||!ne.data)return d.push(Mt({phase:"seed",outcome:"rejected",floor:g.document.legacyEpicFloor,licenseId:"local-client",projectId:g.document.projectId})),{success:!1,error:Je(ne.error??"PROJECT_IDENTITY_MIGRATION_REMOTE_FAILED",Tt),errorCode:typeof ne.errorBody?.error_code=="string"?ne.errorBody.error_code:"PROJECT_IDENTITY_MIGRATION_REMOTE_FAILED",metadata:{invocationDiagnostics:d},exitCode:ne.status===401?2:1};const fe=ne.data.metadata?.projectIdentityMigration;try{Ei(fe),d.push(Mt({phase:"seed",outcome:fe.status,floor:fe.acceptedLegacyFloor,licenseId:"local-client",projectId:fe.projectId})),Ri(s,fe),d.push(Mt({phase:"remote-acknowledged",outcome:fe.status,floor:fe.acceptedLegacyFloor,licenseId:"local-client",projectId:fe.projectId})),Ai(s,fe),d.push(Mt({phase:"finalize",outcome:"finalized",floor:fe.acceptedLegacyFloor,licenseId:"local-client",projectId:fe.projectId}))}catch(B){d.push(Mt({phase:"reconcile",outcome:"rejected",floor:g.document.legacyEpicFloor,licenseId:"local-client",projectId:g.document.projectId}));const Ee=B instanceof On?B.code:B instanceof Error?B.message:"PROJECT_IDENTITY_MIGRATION_RECEIPT_INVALID";return{success:!1,error:Ee,errorCode:Ee,metadata:{invocationDiagnostics:d},exitCode:1}}return p.complete(),{success:!0,instructions:ne.data.instructions,metadata:{...ne.data.metadata,...ne.compatibility?{compatibility:ne.compatibility}:{},invocationDiagnostics:d},exitCode:0}}try{const{normalizeYoloopTargetArgs:c}=await import("../yoloop/target-normalization.js"),d=c(e.args,{projectRoot:s});if(!d.ok)return process.stderr.write(`${d.message} reason=${d.reasonCode}
25
+ `)),{ok:!0,status:u.status,data:w,...n?{compatibility:n}:{}}}catch(w){return{ok:!1,status:0,error:(w instanceof Error?w.message:String(w)).includes("abort")?`Request timeout after ${Nr/1e3}s`:"Network error: invalid response"}}}async function bc(e,t,r){const a=await Jt(e,"/api/v1/invoke/private-execution/consume",t,r,{maxAttempts:1,allowReplayRetry:!1});if(a.networkFailure||!a.response||!a.response.ok)throw new Error("private-execution-delivery-unavailable");return a.parsed}async function xc(e,t,r){const a=await Jt(e,"/api/v1/invoke/private-execution/cancel",t,r,{maxAttempts:1,allowReplayRetry:!1});return!!a.response?.ok&&a.parsed.status==="cancelled"}async function Sa(e,t,r,a={}){const i=await Jt(e,"/api/v1/invoke/epic-claims/acknowledge",{...r,registryVersion:mt,registryChecksum:gt},t,a);return!!i.response?.ok&&i.parsed.status==="ok"&&i.parsed.claimOutcome===r.status&&(!r.planningCheckpoint||i.parsed.memoryReceiptId===r.planningCheckpoint.memoryReceiptId)}async function Tc(e,t,r,a,i,n={}){if(!i)return 0;const o=Vt(e);let s=0;for(const[u,g]of Object.entries(o.operations))g.planningProtocol==="root-staged-v1"||!g.claimId||!g.epicId||!t.epics?.[g.epicId]||!await Sa(r,a,{claimId:g.claimId,projectId:i,epicId:g.epicId,status:"materialized"},n)||(Xi(e,u),s+=1);return s}function Pc(e,t){const r=t.state.pendingContinuationAuthorities,a=t.state.continuationSession;if(t.state.continuationPolicy!=="p205-finite-resume-v2"||r?.length!==1||!a)return;const i=r[0],n=i.certificate,o=n?.expectedTransition;if(i.storyIds!=="[CIRCULAR]"||n?.rank!=="[CIRCULAR]"||o?.selectedStoryIds!=="[CIRCULAR]")return;const s=typeof a.epicId=="string"?a.epicId:"",u=e.epics[s],g=Array.isArray(o.storyLifecycle)?o.storyLifecycle:[],y=g.length===1&&typeof g[0]?.storyId=="string"?g[0].storyId:"",l=e.stories[y]?.checkpoint;if(!u||u.branch_mode!=="epic"||typeof u.execution_branch!="string"||typeof u.origin_branch!="string"||u.branch_lease!==void 0&&u.branch_lease!==null||!l||l.qaVerdict!=="passed"||l.reviewVerdict!=="approved"||!Array.isArray(l.receiptRefs))return;const E=(Array.isArray(u.stories)?u.stories.filter(p=>typeof p=="string"):[]).find(p=>{const C=e.stories[p];return!C||["done","completed","merged"].includes(String(C.status))?!1:(Array.isArray(C.depends_on)?C.depends_on.filter(V=>typeof V=="string"):[]).every(V=>["done","completed","merged"].includes(String(e.stories[V]?.status)))});if(E)return{epicId:s,expectedNextStoryId:E,branchMode:"epic",executionBranch:u.execution_branch,originBranch:u.origin_branch,branchLeaseReleased:!0,checkpoint:{schemaVersion:1,storyId:l.storyId,epicId:l.epicId,branch:l.branch,baseSha:l.baseSha,headSha:l.headSha,receiptRefs:[...l.receiptRefs],qaVerdict:"passed",reviewVerdict:"approved"}}}async function kc(e){let t;try{if(t=e.inputEnvelope??cn(e.inputSource??"args",e.args),yi(t),t.rawArgs!==e.args)throw new Error("INVOKE_INPUT_ENVELOPE_ARGUMENT_CONFLICT")}catch{return{success:!1,error:"INVOCATION_MALFORMED_INPUT: explicit input integrity could not be verified.",errorCode:"INVOCATION_MALFORMED_INPUT",metadata:{invocationInput:{reason:"input-integrity-conflict",remediation:"Retry with exactly one of --args, --stdin or --args-file.",publicSafe:!0}},exitCode:1}}const r=t.rawArgs,a=br(t);let i=r,n=a;const o=no(r);if(o.outcome!=="resolved"){const c=Ii(o,"client"),d=o.outcome==="malformed_input"?o.reason==="input_limit"||o.reason==="token_limit"||o.reason==="token_size_limit"?"input-limit-exceeded":o.reason==="invalid_control"||o.reason==="invalid_surrogate"?"invalid-control-character":o.reason==="unterminated_quote"||o.reason==="trailing_escape"||o.reason==="unsupported_escape"?"unterminated-quote":void 0:void 0,m=d?{code:"INVOCATION_MALFORMED_INPUT",reason:d,source:t.source,byteLength:t.byteLength,remediation:d==="input-limit-exceeded"?"Reduce the explicit command input or split the requested work into bounded invocations.":d==="invalid-control-character"?"Remove invalid control characters and retry with valid UTF-8 text.":"Close quotes and escapes, or use --stdin/--args-file for multiline content."}:void 0;return{success:!1,error:`INVOCATION_${o.outcome.toUpperCase()}`,errorCode:`INVOCATION_${o.outcome.toUpperCase()}`,metadata:{invocationAdmission:c,...m?{invocationInput:m}:{}},exitCode:1}}if(e.privateExecutionModel!==void 0&&(!e.privateExecutionBeta||e.strictReadOnly||!/^gpt-[a-z0-9][a-z0-9.-]{0,63}$/.test(e.privateExecutionModel)))return{success:!1,error:"private-codex-model-invalid",errorCode:"private-codex-model-invalid",exitCode:1};const s=jn(e.projectRoot),u=o.selection.commandId,g=u==="yolo"&&!Er(r,u)?Ui(r):null,y=u==="tech-debt"&&o.selection.positionals.length===0&&(o.selection.operationId==="scan"&&Object.keys(o.selection.options).length===0||o.selection.operationId===void 0&&o.selection.options.scan===!0&&Object.keys(o.selection.options).length===1),w=Ua.find(c=>c.id===u),l=w?.subcommands.find(c=>c.id===o.selection.operationId),v=l?l.policy.strictReadOnly==="allow":w?.policy.strictReadOnly==="allow",E=u==="diagnose";let p;try{p=fi({invocationId:nn(),intent:e.strictReadOnly||E?{schemaVersion:1,policy:ui,registryVersion:mt,registryChecksum:gt}:void 0,registryVersion:mt,registryChecksum:gt,registryAllowsStrict:v,requestCanonicalBytes:JSON.stringify({command:u})})}catch(c){if(c instanceof Dt)return{success:!1,error:c.code,errorCode:c.code,exitCode:1};throw c}{p.beginProjection();for(const c of Ar)p.project(c);for(const c of li)p.project(c);p.seal()}const C=p.mode==="strict";if(u==="create-epic"||u==="idea-diagnose")try{const c=xi(s);if(c&&c!=="finalized")return{success:!1,error:'PROJECT_IDENTITY_MIGRATION_INCOMPLETE: retry `neocortex-client invoke --args "*migrate-project-id"` before create-epic.',errorCode:"PROJECT_IDENTITY_MIGRATION_INCOMPLETE",metadata:{projectIdentityMigration:{phase:c,publicSafe:!0}},exitCode:1}}catch(c){const d=c instanceof Nn?c.code:"PROJECT_IDENTITY_MIGRATION_STATE_CORRUPT";return{success:!1,error:d,errorCode:d,exitCode:1}}const O=e.environment??process.env;if(e.privateExecutionBeta&&(u!=="yolo"&&u!=="research"&&u!=="write-spec"&&u!=="create-tasks"&&u!=="implement"&&u!=="exec"&&u!=="create-epic"&&u!=="idea-diagnose"&&u!=="idea-research"&&u!=="generate-epic"&&u!=="sync-openapi"&&u!=="chaos-plan"&&u!=="ui-ux-review"&&u!=="arch-prd"&&u!=="arch-architecture"&&u!=="arch-fitness-functions"&&u!=="arch-api-contracts"&&u!=="arch-api-integrations"&&u!=="arch-database"&&u!=="arch-security"&&u!=="arch-design-system"&&u!=="arch-performance"&&u!=="arch-testing"&&u!=="arch-infrastructure"&&u!=="arch-review"&&u!=="update-memory"&&u!=="arch-ux-design"&&u!=="generate-pacts"&&u!=="property-test"&&!y||C||e.platformTarget!==void 0&&e.platformTarget!=="codex"))return{success:!1,error:"PRIVATE_EXECUTION_BETA_UNSUPPORTED",errorCode:"PRIVATE_EXECUTION_BETA_UNSUPPORTED",exitCode:1};const V=oi({cwd:s,env:O,targetFlag:e.privateExecutionBeta?"codex":e.platformTarget}),T=V.targetId,P=e.privateExecutionBeta?void 0:ii({cwd:s,env:O,targetFlag:e.platformTarget,nativeHostVersion:uo(V,O)},V);if(g)try{Hn(s,{allowMissingRuntime:!0})}catch(c){const d=c instanceof it?c.reasonCode:"git-lifecycle-state-corrupt";return process.stderr.write(`[Neocortex] ${d}. No request was sent; repair the canonical project state/runtime sidecar and retry.
26
+ `),{success:!1,error:d,errorCode:"GIT_LIFECYCLE_STATE_INVALID",exitCode:1}}let S=g?On({strictReadOnly:!0}):ta(p);const _=(e.serverUrl??S?.serverUrl??Ga).replace(/\/+$/,"");let Q;if(g){const c=await Bi(_);if(!c.supported)return{success:!1,error:`YOLO_INVOKE_ENVELOPE_CAPABILITY_UNAVAILABLE: target server does not advertise ${si}; Local YOLO/TDD Release Gate was not executed and no invoke request was sent.`,errorCode:"YOLO_INVOKE_ENVELOPE_CAPABILITY_UNAVAILABLE",metadata:{yoloInvokeEnvelopeCapability:c},exitCode:1};try{Q=Pr({projectRoot:s,storyId:g,epicId:g.split(".")[0],inputSha256:n.sha256,onOmittedReferences:d=>process.stderr.write(`[Neocortex] yolo-spec-supporting-references-omitted count=${d}; core story artifacts preserved.
27
+ `)})}catch(d){const m=d instanceof Error&&/^yolo-spec-envelope-[a-z-]+$/.test(d.message)?d.message:"yolo-spec-envelope-unsafe";return{success:!1,error:m,errorCode:m,exitCode:1}}S=ta(p)}if(u!=="migrate-project-id"&&p.execute({phase:"client-preflight",domain:"client-persistence",category:"first-run-marker",operation:"create"},()=>eo(),()=>{}),u==="migrate-project-id"){const c=await Ti(_);if(!c.supported)return{success:!1,error:"PROJECT_IDENTITY_MIGRATION_CAPABILITY_UNAVAILABLE: the server did not advertise the versioned migration capability; no local state was changed.",errorCode:"PROJECT_IDENTITY_MIGRATION_CAPABILITY_UNAVAILABLE",metadata:{projectIdentityMigrationCapability:c},exitCode:1};const d=[];let m;try{m=bi(s)}catch(B){const Ee=B instanceof Nn?B.code:"PROJECT_IDENTITY_MIGRATION_PREPARE_FAILED";return{success:!1,error:Ee,errorCode:Ee,exitCode:1}}d.push(Mt({phase:"prepare",outcome:m.changed&&m.document.phase==="prepared"?"prepared":"retry",floor:m.document.legacyEpicFloor,licenseId:"local-client",projectId:m.document.projectId}));const b=mn(s);if(b.config.project_id!==m.document.projectId)return{success:!1,error:"PROJECT_IDENTITY_MIGRATION_STATE_DRIFT",errorCode:"PROJECT_IDENTITY_MIGRATION_STATE_DRIFT",metadata:{invocationDiagnostics:d},exitCode:1};const q=await na(_,S?.licenseKey,p);if(q.status!=="authenticated"){const B=q.status==="refresh-required";return{success:!1,error:B?"Authentication refresh required. Run: neocortex activate YOUR-LICENSE-KEY":"Not authenticated. Visit https://neocortex.sh/portal/login to get your license key, then run: neocortex activate YOUR-LICENSE-KEY",errorCode:B?"AUTH_REFRESH_REQUIRED":"NOT_CONFIGURED",metadata:{invocationDiagnostics:d},exitCode:B?1:2}}let he;try{he=yr(e.args.trim(),b)}catch(B){const Ee=B instanceof Ir?B.code:"PROJECT_IDENTITY_MIGRATION_PROJECTION_FAILED";return{success:!1,error:Ee,errorCode:Ee,metadata:{invocationDiagnostics:d},exitCode:1}}let de={args:r,projectRoot:s.replace(Yt(),"~"),stateSnapshot:he,platformTarget:T,...P?{nativeHostAttestation:P}:{},projectId:m.document.projectId,projectIdentityMigration:m.request,inputEvidence:a,idempotencyKey:m.document.operationId,registryVersion:mt,registryChecksum:gt,compatibility:Bn()};try{de=sa(de).body}catch(B){if(B instanceof Un||B instanceof $n)return{success:!1,error:B.message,errorCode:B.code,metadata:{invokePayload:B.telemetry,invocationDiagnostics:d},exitCode:1};throw B}const ne=await Rr("invoke-query",()=>Ia(_,de,q.token,{refreshToken:()=>q.client.forceRefresh()}));if(!ne.ok||!ne.data)return d.push(Mt({phase:"seed",outcome:"rejected",floor:m.document.legacyEpicFloor,licenseId:"local-client",projectId:m.document.projectId})),{success:!1,error:Je(ne.error??"PROJECT_IDENTITY_MIGRATION_REMOTE_FAILED",Tt),errorCode:typeof ne.errorBody?.error_code=="string"?ne.errorBody.error_code:"PROJECT_IDENTITY_MIGRATION_REMOTE_FAILED",metadata:{invocationDiagnostics:d},exitCode:ne.status===401?2:1};const fe=ne.data.metadata?.projectIdentityMigration;try{Ei(fe),d.push(Mt({phase:"seed",outcome:fe.status,floor:fe.acceptedLegacyFloor,licenseId:"local-client",projectId:fe.projectId})),Ri(s,fe),d.push(Mt({phase:"remote-acknowledged",outcome:fe.status,floor:fe.acceptedLegacyFloor,licenseId:"local-client",projectId:fe.projectId})),Ai(s,fe),d.push(Mt({phase:"finalize",outcome:"finalized",floor:fe.acceptedLegacyFloor,licenseId:"local-client",projectId:fe.projectId}))}catch(B){d.push(Mt({phase:"reconcile",outcome:"rejected",floor:m.document.legacyEpicFloor,licenseId:"local-client",projectId:m.document.projectId}));const Ee=B instanceof Nn?B.code:B instanceof Error?B.message:"PROJECT_IDENTITY_MIGRATION_RECEIPT_INVALID";return{success:!1,error:Ee,errorCode:Ee,metadata:{invocationDiagnostics:d},exitCode:1}}return p.complete(),{success:!0,instructions:ne.data.instructions,metadata:{...ne.data.metadata,...ne.compatibility?{compatibility:ne.compatibility}:{},invocationDiagnostics:d},exitCode:0}}try{const{normalizeYoloopTargetArgs:c}=await import("../yoloop/target-normalization.js"),d=c(e.args,{projectRoot:s});if(!d.ok)return process.stderr.write(`${d.message} reason=${d.reasonCode}
28
28
  `),{success:!1,error:d.message,exitCode:1};d.changed&&(e={...e,args:d.args},process.stderr.write(`[Neocortex] yoloop target normalized: ${d.reasonCodes.join(",")}
29
29
  `))}catch{const c="INVALID_YOLOOP_TARGET: yoloop target normalization was unavailable; no request was sent.";return process.stderr.write(`${c}
30
- `),{success:!1,error:c,exitCode:1}}const D=Xr(u);if(D)try{Wn(s,{allowMissingRuntime:!0}).runtimeMissing&&(await p.executeAsync({phase:"client-preflight",domain:"client-persistence",category:"state-repair",operation:"update"},async()=>Oi(s),async()=>{}),Wn(s))}catch(c){const d=c instanceof it?c.reasonCode:"git-lifecycle-state-corrupt";return process.stderr.write(`[Neocortex] ${d}. No request was sent; repair the canonical project state and retry.
30
+ `),{success:!1,error:c,exitCode:1}}const M=Xr(u);if(M)try{Hn(s,{allowMissingRuntime:!0}).runtimeMissing&&(await p.executeAsync({phase:"client-preflight",domain:"client-persistence",category:"state-repair",operation:"update"},async()=>Oi(s),async()=>{}),Hn(s))}catch(c){const d=c instanceof it?c.reasonCode:"git-lifecycle-state-corrupt";return process.stderr.write(`[Neocortex] ${d}. No request was sent; repair the canonical project state and retry.
31
31
  `),{success:!1,error:d,errorCode:"GIT_LIFECYCLE_STATE_INVALID",exitCode:1}}if(u!=="migrate-state")try{p.execute({phase:"client-preflight",domain:"client-persistence",category:"state-repair",operation:"update"},()=>Ya(s,{args:e.args,canonicalCommandId:u}),()=>{})}catch(c){if(c instanceof Ja)return process.stderr.write(`${c.message}
32
32
  `),{success:!1,error:c.message,exitCode:1};const d=c instanceof Error?c.message:String(c);return process.stderr.write(`[Neocortex] state.json repair stopped unexpectedly: ${d}. No request was sent; inspect .neocortex/state.json and rerun.
33
- `),{success:!1,error:d,exitCode:1}}let U;if(e.privateExecutionBeta&&(u==="sync-openapi"||u==="chaos-plan"||u==="arch-prd"||u==="arch-architecture"||u==="arch-fitness-functions"||u==="arch-api-contracts"||u==="arch-api-integrations"||u==="arch-database"||u==="arch-security"||u==="arch-design-system"||u==="arch-performance"||u==="arch-testing"||u==="arch-infrastructure"||u==="arch-review"||u==="update-memory"||u==="arch-ux-design"||u==="generate-pacts"||u==="property-test"||I))try{const{capturePrivateProjectStepBaseline:c}=await import("../private-execution/isolated-workspace.js");U=c(s)}catch{const c="private-execution-project-snapshot-unverified";return{success:!1,error:c,errorCode:c,exitCode:1}}let N;try{const c=await xo(s,e.args,u);N=gn(s,{epicAware:D,p205Authorities:c,verifyPlanningGeneration:e.privateExecutionBeta&&u==="create-epic"})}catch(c){const d=c instanceof it?c.reasonCode:"git-lifecycle-state-corrupt";return process.stderr.write(`[Neocortex] ${d}. No request was sent; repair the canonical project state/runtime sidecar and retry.
34
- `),{success:!1,error:d,errorCode:"GIT_LIFECYCLE_STATE_INVALID",exitCode:1}}try{const{maybeAutoResolveYoloopArgs:c}=await import("../yoloop/invoke-hooks.js"),d={args:e.args,projectRoot:s,logger:{info:g=>process.stderr.write(`${g}
35
- `),warn:g=>process.stderr.write(`${g}
33
+ `),{success:!1,error:d,exitCode:1}}let U;if(e.privateExecutionBeta&&(u==="sync-openapi"||u==="chaos-plan"||u==="arch-prd"||u==="arch-architecture"||u==="arch-fitness-functions"||u==="arch-api-contracts"||u==="arch-api-integrations"||u==="arch-database"||u==="arch-security"||u==="arch-design-system"||u==="arch-performance"||u==="arch-testing"||u==="arch-infrastructure"||u==="arch-review"||u==="update-memory"||u==="arch-ux-design"||u==="generate-pacts"||u==="property-test"||y))try{const{capturePrivateProjectStepBaseline:c}=await import("../private-execution/isolated-workspace.js");U=c(s)}catch{const c="private-execution-project-snapshot-unverified";return{success:!1,error:c,errorCode:c,exitCode:1}}let N;try{const c=await To(s,e.args,u);N=mn(s,{epicAware:M,p205Authorities:c,verifyPlanningGeneration:e.privateExecutionBeta&&u==="create-epic"})}catch(c){const d=c instanceof it?c.reasonCode:"git-lifecycle-state-corrupt";return process.stderr.write(`[Neocortex] ${d}. No request was sent; repair the canonical project state/runtime sidecar and retry.
34
+ `),{success:!1,error:d,errorCode:"GIT_LIFECYCLE_STATE_INVALID",exitCode:1}}try{const{maybeAutoResolveYoloopArgs:c}=await import("../yoloop/invoke-hooks.js"),d={args:e.args,projectRoot:s,logger:{info:m=>process.stderr.write(`${m}
35
+ `),warn:m=>process.stderr.write(`${m}
36
36
  `)}};c(d),d.args!==e.args&&(e={...e,args:d.args},i=d.args,n=br(cn(t.source,i)))}catch(c){const d=c instanceof Error?c.message:String(c);process.stderr.write(`[Neocortex] Auto-resolve hook (P121.05) failed: ${d}. Proceeding with raw args.
37
- `)}try{const{readYoloopForRequest:c}=await import("../yoloop/invoke-hooks.js"),d=await c(e.args,s);if(d){const g=Tc(N,d);N.yoloop=g?{...d,continuationRecoveryEvidence:g}:d}}catch(c){if(/^\s*\*?(?:yoloop|auto-yolo|epic-runner|story-runner|loop-yolo|auto-epic)\b/i.test(e.args)){const g=c instanceof Error?c.message.match(/\bYOLOOP_[A-Z0-9_]+\b/)?.[0]??"YOLOOP_STATE_READ_FAILED":"YOLOOP_STATE_READ_FAILED";return process.stderr.write(`[Neocortex] ${g}. No yoloop request was sent and no state was mutated.
38
- `),{success:!1,error:g,errorCode:g,exitCode:1}}}try{const{readContinuityForRequest:c}=await import("../continuity/invoke-hooks.js"),d=await c(e.args,s,void 0,p,{includeExistingStore:!y});d&&(N.continuity=d)}catch(c){if(c instanceof Dt)return{success:!1,error:c.code,errorCode:c.code,exitCode:1};const d=c instanceof Error?c.message:String(c);process.stderr.write(`[Neocortex] continuity snapshot hook failed: ${d}. Proceeding without continuity state.
37
+ `)}try{const{readYoloopForRequest:c}=await import("../yoloop/invoke-hooks.js"),d=await c(e.args,s);if(d){const m=Pc(N,d);N.yoloop=m?{...d,continuationRecoveryEvidence:m}:d}}catch(c){if(/^\s*\*?(?:yoloop|auto-yolo|epic-runner|story-runner|loop-yolo|auto-epic)\b/i.test(e.args)){const m=c instanceof Error?c.message.match(/\bYOLOOP_[A-Z0-9_]+\b/)?.[0]??"YOLOOP_STATE_READ_FAILED":"YOLOOP_STATE_READ_FAILED";return process.stderr.write(`[Neocortex] ${m}. No yoloop request was sent and no state was mutated.
38
+ `),{success:!1,error:m,errorCode:m,exitCode:1}}}try{const{readContinuityForRequest:c}=await import("../continuity/invoke-hooks.js"),d=await c(e.args,s,void 0,p,{includeExistingStore:!E});d&&(N.continuity=d)}catch(c){if(c instanceof Dt)return{success:!1,error:c.code,errorCode:c.code,exitCode:1};const d=c instanceof Error?c.message:String(c);process.stderr.write(`[Neocortex] continuity snapshot hook failed: ${d}. Proceeding without continuity state.
39
39
  `)}try{const{maybeRunDiscoveryHook:c}=await import("../yoloop/invoke-hooks.js");await c({args:e.args,projectRoot:s,stateSnapshot:N,featureFlag:process.env.YOLOOP_AUTO_DISCOVERY!=="off",logger:{warn:d=>{console.warn(d)},info:d=>{console.error(d)}}})}catch(c){const d=c instanceof Error?c.message:String(c);process.stderr.write(`[Neocortex] discovery hook failed: ${d}. Proceeding without enrichment.
40
- `)}try{const{readArchitecturePolicy:c}=await import("../policy/architecture-policy.js"),d=await c(s);d&&(N.architecture_policy=d)}catch(c){const d=c instanceof Error?c.message:String(c);console.warn(`[Neocortex] architecture-policy hook failed: ${d}. Proceeding without policy.`)}try{const c=/^(1|true|on|yes)$/i.test(process.env.NEOCORTEX_GRAPH_RETRIEVAL??""),{maybeRunGraphRetrievalHook:d}=await import("../yoloop/invoke-hooks.js"),g=await d({args:e.args,projectRoot:s,featureFlag:c,logger:{warn:b=>process.stderr.write(`${b}
41
- `)}});g.applied&&g.metadata&&(N.graphRetrieval=g.metadata)}catch(c){const d=c instanceof Error?c.message:String(c);process.stderr.write(`[Neocortex] graph retrieval hook failed: ${d}. Proceeding without enrichment.
42
- `)}try{if(oo(e.args)){const{collectProjectEvidence:c}=await import("../evidence/collector.js"),d=o.selection.uiUxReview?.architectureDir,g=c({projectRoot:s,...d?{candidatePaths:[d],includeFallbackInventory:!0}:{}});(g.evidence.length>0||g.exclusions.length>0)&&(N.projectEvidence=g)}}catch(c){const d=c instanceof Error?c.message:String(c);process.stderr.write(`[Neocortex] project evidence collection failed: ${d}. Proceeding without local project evidence.
40
+ `)}try{const{readArchitecturePolicy:c}=await import("../policy/architecture-policy.js"),d=await c(s);d&&(N.architecture_policy=d)}catch(c){const d=c instanceof Error?c.message:String(c);console.warn(`[Neocortex] architecture-policy hook failed: ${d}. Proceeding without policy.`)}try{const c=/^(1|true|on|yes)$/i.test(process.env.NEOCORTEX_GRAPH_RETRIEVAL??""),{maybeRunGraphRetrievalHook:d}=await import("../yoloop/invoke-hooks.js"),m=await d({args:e.args,projectRoot:s,featureFlag:c,logger:{warn:b=>process.stderr.write(`${b}
41
+ `)}});m.applied&&m.metadata&&(N.graphRetrieval=m.metadata)}catch(c){const d=c instanceof Error?c.message:String(c);process.stderr.write(`[Neocortex] graph retrieval hook failed: ${d}. Proceeding without enrichment.
42
+ `)}try{if(co(e.args)){const{collectProjectEvidence:c}=await import("../evidence/collector.js"),d=o.selection.uiUxReview?.architectureDir,m=c({projectRoot:s,...d?{candidatePaths:[d],includeFallbackInventory:!0}:{}});(m.evidence.length>0||m.exclusions.length>0)&&(N.projectEvidence=m)}}catch(c){const d=c instanceof Error?c.message:String(c);process.stderr.write(`[Neocortex] project evidence collection failed: ${d}. Proceeding without local project evidence.
43
43
  `)}try{const c=await p.executeAsync({phase:"client-preflight",domain:"client-persistence",category:"checkpoint-consume",operation:"consume"},async()=>{const{readAndConsumeCheckpoint:d}=await import("../checkpoint/index.js");return d(s)},async()=>{});c&&(N.implementCheckpoint=c)}catch(c){const d=c instanceof Error?c.message:String(c);process.stderr.write(`[Neocortex] checkpoint hook failed: ${d}. Proceeding without checkpoint.
44
- `)}const ie=S?.licenseKey?new Pn({cacheDir:Nn,passphrase:S.licenseKey,strictReadOnly:C}):null,M=i.trim();if(!M&&ie){const c=await p.executeAsync({phase:"client-preflight",domain:"client-persistence",category:"auth-cache",operation:"update"},()=>To(ie),async()=>null);if(c)return p.complete(),{success:!0,instructions:c.instructions,metadata:c.metadata,exitCode:0}}const $=await na(_,S?.licenseKey,p);if($.status!=="authenticated"){const c=$.status==="refresh-required",d=!c&&S&&!S.licenseKey?" This may be caused by a machine fingerprint change (e.g., hardware or hostname change).":"";try{const g=gr(),b=fr(c?"AUTH_REFRESH_REQUIRED":"NOT_CONFIGURED",g);b&&process.stderr.write(mr(b,g))}catch{}return{success:!1,error:c?"Authentication refresh required. Run: neocortex activate YOUR-LICENSE-KEY":`Not authenticated.${d} Visit https://neocortex.sh/portal/login to get your license key, then run: neocortex activate YOUR-LICENSE-KEY`,errorCode:c?"AUTH_REFRESH_REQUIRED":"NOT_CONFIGURED",exitCode:c?1:2}}const Pe=N.config.project_id;try{await p.executeAsync({phase:"client-preflight",domain:"client-persistence",category:"pending-claim",operation:"update"},()=>xc(s,N,_,$.token,Pe,{refreshToken:()=>$.client.forceRefresh()}),async()=>0)}catch{}const st=kc(M);if(st&&!y)try{const c=await $.tierClient.preFlightCheck(st);if(!c.allowed)return process.stderr.write(`[neocortex] ${c.message}
45
- `),{success:!1,error:c.message??"Trigger not available on your plan",exitCode:1}}catch{}const X=await Fo({args:M,projectRoot:s,platformTarget:T,environment:e.environment??process.env,bootstrapper:e.runnerBootstrapper,effectAuthority:p});if(X.attachToRequest&&(N.runnerBootstrap=X.metadata),X.warning&&process.stderr.write(`[Neocortex] ${X.warning}
44
+ `)}const ie=S?.licenseKey?new kn({cacheDir:Ln,passphrase:S.licenseKey,strictReadOnly:C}):null,D=i.trim();if(!D&&ie){const c=await p.executeAsync({phase:"client-preflight",domain:"client-persistence",category:"auth-cache",operation:"update"},()=>Po(ie),async()=>null);if(c)return p.complete(),{success:!0,instructions:c.instructions,metadata:c.metadata,exitCode:0}}const $=await na(_,S?.licenseKey,p);if($.status!=="authenticated"){const c=$.status==="refresh-required",d=!c&&S&&!S.licenseKey?" This may be caused by a machine fingerprint change (e.g., hardware or hostname change).":"";try{const m=mr(),b=fr(c?"AUTH_REFRESH_REQUIRED":"NOT_CONFIGURED",m);b&&process.stderr.write(gr(b,m))}catch{}return{success:!1,error:c?"Authentication refresh required. Run: neocortex activate YOUR-LICENSE-KEY":`Not authenticated.${d} Visit https://neocortex.sh/portal/login to get your license key, then run: neocortex activate YOUR-LICENSE-KEY`,errorCode:c?"AUTH_REFRESH_REQUIRED":"NOT_CONFIGURED",exitCode:c?1:2}}const Pe=N.config.project_id;try{await p.executeAsync({phase:"client-preflight",domain:"client-persistence",category:"pending-claim",operation:"update"},()=>Tc(s,N,_,$.token,Pe,{refreshToken:()=>$.client.forceRefresh()}),async()=>0)}catch{}const st=Oc(D);if(st&&!E)try{const c=await $.tierClient.preFlightCheck(st);if(!c.allowed)return process.stderr.write(`[neocortex] ${c.message}
45
+ `),{success:!1,error:c.message??"Trigger not available on your plan",exitCode:1}}catch{}const X=await qo({args:D,projectRoot:s,platformTarget:T,environment:e.environment??process.env,bootstrapper:e.runnerBootstrapper,effectAuthority:p});if(X.attachToRequest&&(N.runnerBootstrap=X.metadata),X.warning&&process.stderr.write(`[Neocortex] ${X.warning}
46
46
  `),!X.shouldContinue)return X.error&&process.stderr.write(`[Neocortex] ${X.error}
47
- `),{success:!1,error:X.error??"Runner auto-bootstrap required but failed.",errorCode:X.errorCode,exitCode:X.exitCode??1};if(X.metadata.command==="runner"&&(X.metadata.operation==="status"||X.metadata.operation==="doctor"))try{const c=e.runnerObserver??ti;N.runnerOperationalStatus=await c(X.metadata.operation,{projectRoot:s,env:e.environment??process.env,effectAuthority:p})}catch{}let O;try{const c=qa(M,N);if(c&&!c.ok){const d=`${c.code}: structural projection failed closed; select a valid target or repair the dependency DAG.`;return process.stderr.write(`${d}
48
- `),{success:!1,error:d,errorCode:c.code,metadata:{stateProjection:c,publicSafe:!0},exitCode:1}}O=c?.snapshot??yr(M,N),on(M)==="migrate-state"&&(O={...O,migrationAuthority:za(s)})}catch(c){if(c instanceof Ka)return{success:!1,error:c.reasonCode,errorCode:c.reasonCode,exitCode:1};if(c instanceof Ir){const d=`${c.code}: structural projection failed closed; select a valid target or repair the dependency DAG.`;return process.stderr.write(`${d}
49
- `),{success:!1,error:d,errorCode:c.code,metadata:{structuralProjection:{...c.publicDetails,publicSafe:!0}},exitCode:1}}throw c}if(!C)try{const{openNativeAgentPrivateStore:c,resolveNativeAgentPrivateRuntimePaths:d}=await import("../continuity/native-agent-store.js"),g=d(s);if(Nt(g.databasePath)){const b=await c(s);try{const q=b.store.listRecentNativeAgentDispatches(20);q.length>0&&(O.nativeAgentDispatches=q)}finally{b.store.close()}}}catch{}const F=on(M);let dt=!1;if(F==="arch-plan"&&!C&&O.archPlan?.execution===void 0){const c=xa(i);if(c)try{if(!Object.hasOwn(N.epics,c)||!Object.hasOwn(O.epics,c))throw new Error("architecture-root-epic-binding-invalid");const d=Wt(s,c);O={...O,archPlan:{execution:{schemaVersion:1,owner:"root",currentStageCommand:"arch-prd",continuationState:"delegate",evidencePolicy:"v2-required",targetEpicId:c,graphRevision:d,graphSource:"committed-epic-v1",acceptedStages:[]}}},dt=!0}catch{return{success:!1,error:"architecture-root-epic-binding-invalid",errorCode:"architecture-root-epic-binding-invalid",exitCode:1}}}if((F==="arch-plan"||F?.startsWith("arch-")||F==="generate-pacts"||F==="update-memory")&&O.archPlan?.execution?.graphSource==="committed-epic-v1")try{const c=O.archPlan.execution;if(typeof c.targetEpicId!="string"||typeof c.graphRevision!="string"||c.graphRevision!==Wt(s,c.targetEpicId))throw new Error("architecture-root-epic-binding-invalid")}catch{return{success:!1,error:"architecture-root-epic-binding-invalid",errorCode:"architecture-root-epic-binding-invalid",exitCode:1}}const Ne=Pe;if((F==="create-epic"||F==="idea-diagnose")&&!Ne){const c='EPIC_PROJECT_ID_REQUIRED: run `neocortex-client invoke --args "*migrate-project-id"` and retry the planning command. No repository checkout or database credentials are required.';return process.stderr.write(`${c}
50
- `),{success:!1,error:c,errorCode:"EPIC_PROJECT_ID_REQUIRED",exitCode:1}}let ve;try{ve=p.execute({phase:"client-preflight",domain:"client-persistence",category:"pending-claim",operation:"update"},()=>F==="create-epic"||F==="idea-diagnose"?Qi(s,M,F):void 0,()=>{})}catch{return{success:!1,error:"EPIC_CLAIM_INTEGRITY_FAILURE",errorCode:"EPIC_CLAIM_INTEGRITY_FAILURE",exitCode:1}}const We=ve?.key;if(e.privateExecutionBeta&&F==="create-epic"&&ve){const c=Vt(s).operations[ve.fingerprint],d=c?.epicId?N.epics[c.epicId]:void 0,g=h(d?.createEpicPlanningPhysical)?d.createEpicPlanningPhysical:void 0;c?.claimId&&c.epicId&&d&&g?.claimId===c.claimId&&(O={...O,epics:{...O.epics,[c.epicId]:d},stories:{...O.stories,...Object.fromEntries((Array.isArray(d.stories)?d.stories:[]).filter(b=>typeof b=="string"&&N.stories[b]?.epic_id===c.epicId).map(b=>[b,N.stories[b]]))}})}const He=C?{schemaVersion:1,invocationId:p.invocationId,intent:p.intent,clientProjection:hi(Ar.map(c=>({...c,count:1})))}:void 0;let Z,le,oe;if(e.privateExecutionBeta&&F==="idea-research")try{const c=O.scope?.targetEpicId,d=c?O.epics[c]:void 0,g=h(d?.createEpicPlanningPhysical)?d.createEpicPlanningPhysical:void 0;if(!c||!g||typeof g.claimId!="string"||typeof g.receiptId!="string")throw new Error("planning-research-predecessor-unavailable");const b=z(s,".neocortex/state.json"),q=Lt(b);if(!q.isFile()||q.isSymbolicLink()||q.size>8*1024*1024)throw new Error("planning-research-state-unavailable");const he=Be(b),de=JSON.parse(he.toString("utf8")),ne=pr(de,g.claimId,c),fe=h(de)&&h(de.epics)&&h(de.epics[c])?de.epics[c]:void 0,B=h(fe?.createEpicPlanningPhysical)?fe.createEpicPlanningPhysical:void 0;if(B?.receiptId!==g.receiptId||!E(B,g))throw new Error("planning-research-predecessor-drift");const Ee=[".neocortex/state.json",".neocortex/planning/planning.json",`.neocortex/planning/epic-${c}/idea.json`,`.neocortex/planning/epic-${c}/diagnosis.md`,`.neocortex/planning/epic-${c}/enriched-prompt.md`],Le={...process.env};for(const me of["GIT_DIR","GIT_WORK_TREE","GIT_INDEX_FILE","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_COMMON_DIR","GIT_NAMESPACE","GIT_CEILING_DIRECTORIES"])delete Le[me];for(const me of Ee){const De=Lt(z(s,me));if(!De.isFile()||De.isSymbolicLink()||De.size>8*1024*1024)throw new Error("planning-research-source-unavailable");const Qe=Ve("git",["show",`HEAD:${me}`],{cwd:s,env:Le,stdio:["ignore","pipe","ignore"],timeout:3e4,maxBuffer:8*1024*1024});if(!Be(z(s,me)).equals(Qe))throw new Error("planning-research-source-uncommitted")}le={claimId:g.claimId,epicId:c,diagnosisReceiptId:ne.diagnosisReceiptId,intakeRevision:ne.intakeRevision,physicalAcceptanceReceiptId:g.receiptId,sourceStateSha256:Ye("sha256").update(he).digest("hex")}}catch{return{success:!1,error:"private-execution-planning-predecessor-unavailable",errorCode:"private-execution-planning-predecessor-unavailable",exitCode:1}}if(e.privateExecutionBeta&&F==="generate-epic")try{const c=O.scope?.targetEpicId,d=c?O.epics[c]:void 0,g=h(d?.createEpicPlanningResearchPhysical)?d.createEpicPlanningResearchPhysical:void 0;if(!c||!g||typeof g.claimId!="string"||typeof g.receiptId!="string")throw new Error("planning-generation-predecessor-unavailable");const b=z(s,".neocortex/state.json"),q=Lt(b);if(!q.isFile()||q.isSymbolicLink()||q.size>8*1024*1024)throw new Error("planning-generation-state-unavailable");const he=Be(b),de=JSON.parse(he.toString("utf8")),ne=ur(de,g.claimId,c),fe=h(de)&&h(de.epics)&&h(de.epics[c])?de.epics[c]:void 0,B=h(fe?.createEpicPlanningResearchPhysical)?fe.createEpicPlanningResearchPhysical:void 0;if(B?.receiptId!==g.receiptId||!E(B,g))throw new Error("planning-generation-predecessor-drift");const Ee=[".neocortex/state.json",".neocortex/planning/planning.json",`.neocortex/planning/epic-${c}/idea.json`,`.neocortex/planning/epic-${c}/diagnosis.md`,`.neocortex/planning/epic-${c}/enriched-prompt.md`,`.neocortex/planning/epic-${c}/research.md`],Le={...process.env};for(const me of["GIT_DIR","GIT_WORK_TREE","GIT_INDEX_FILE","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_COMMON_DIR","GIT_NAMESPACE","GIT_CEILING_DIRECTORIES"])delete Le[me];for(const me of Ee){const De=Lt(z(s,me));if(!De.isFile()||De.isSymbolicLink()||De.size>8*1024*1024)throw new Error("planning-generation-source-unavailable");const Qe=Ve("git",["show",`HEAD:${me}`],{cwd:s,env:Le,stdio:["ignore","pipe","ignore"],timeout:3e4,maxBuffer:8*1024*1024});if(!Be(z(s,me)).equals(Qe))throw new Error("planning-generation-source-uncommitted")}oe={claimId:g.claimId,epicId:c,diagnosisReceiptId:ne.diagnosisReceiptId,researchReceiptId:ne.researchReceiptId,intakeRevision:ne.intakeRevision,physicalAcceptanceReceiptId:ne.physicalAcceptanceReceiptId,sourceStateSha256:Ye("sha256").update(he).digest("hex")}}catch{return{success:!1,error:"private-execution-planning-predecessor-unavailable",errorCode:"private-execution-planning-predecessor-unavailable",exitCode:1}}if(e.privateExecutionBeta)try{const{preflightPrivateCodexExecutor:c}=await import("../private-execution/codex-executor.js");Z=await c(s)}catch(c){const d=c instanceof Error&&/^private-codex-[a-z-]+$/.test(c.message)?c.message:"private-codex-preflight-unavailable";return{success:!1,error:d,errorCode:d,exitCode:1}}const vt=Z?{schemaVersion:1,hostKind:"codex-cli",hostVersion:Z.hostVersion,sandboxProof:{schemaVersion:6,trust:"client-self-attested",credentialKind:"chatgpt-subscription",authIsolation:"passed",workspaceWrite:"passed",gitControlWriteDenied:"passed",gitLifecycleReadDenied:"passed",mcpIsolation:"passed",environmentIsolation:"passed",networkDenied:"passed",webSearchDisabled:"passed",observedAtMs:Z.observedAtMs}}:void 0;let Fe;if(F==="arch-plan"&&O.archPlan?.execution?.currentStageCommand==="generate-pacts"&&O.archPlan.execution.continuationState==="ask-user")try{if(Fe=cr(s),!Fe)throw new Error("architecture-answers-required")}catch(c){const d=c instanceof Error&&/^architecture-answers-[a-z-]+$/.test(c.message)?c.message:"architecture-answers-failed";return{success:!1,error:d,errorCode:d,exitCode:1}}let qe;if(F==="arch-plan"&&O.archPlan?.execution?.currentStageCommand==="generate-pacts"&&O.archPlan.execution.continuationState==="delegate"&&O.archPlan.execution.childStatus==="succeeded")try{if(qe=cr(s),!qe||!E(O.archPlan.execution.pactAnswerReceipt,qe))throw new Error("architecture-answers-conflict")}catch{return{success:!1,error:"architecture-answers-conflict",errorCode:"architecture-answers-conflict",exitCode:1}}let j,ce,J;if(e.privateExecutionBeta&&F==="generate-pacts")try{const c=i.trim().match(/^\*?generate-pacts (P[1-9][0-9]{0,11})$/)?.[1],d=O.archPlan?.execution;if(ce=ba(s),!c||!d||d.currentStageCommand!=="generate-pacts"||d.continuationState!=="delegate"||d.targetEpicId!==c||!ce||!E(d.pactAnswerReceipt,ce.receipt))throw new Error("private-execution-pact-admission-unverified");const g=Ta(s,ce.answers.generateProvider);if(g.outcome!=="ready")throw new Error("private-execution-pact-admission-unverified");j=g.writeSet,J={schemaVersion:1,targetEpicId:c,graphRevision:ce.receipt.graphRevision,answersSha256:ce.receipt.answersSha256,specSha256:j.specSha256,pathsSha256:j.pathsSha256,endpointCount:j.endpointCount,pathCount:j.paths.length,publicSafe:!0}}catch{const c="private-execution-pact-admission-unverified";return{success:!1,error:c,errorCode:c,exitCode:1}}let ke,se;if(e.privateExecutionBeta&&F==="arch-ux-design")try{const c=i.trim().match(/^\*?arch-ux-design (P[1-9][0-9]{0,11})$/)?.[1],d=O.archPlan?.execution;if(!c||!d||d.currentStageCommand!=="arch-ux-design"||d.continuationState!=="delegate"||d.targetEpicId!==c||typeof d.graphRevision!="string"||!/^[a-f0-9]{64}$/.test(d.graphRevision))throw new Error("private-execution-ux-admission-unverified");const{deriveUxWriteSet:g}=await import("../private-execution/ux-write-set.js");ke=g(s,c),se={schemaVersion:1,targetEpicId:c,graphRevision:d.graphRevision,adapterId:ke.adapterId,authoritySha256:ke.authoritySha256,pathsSha256:ke.pathsSha256,screenCount:ke.screenCount,pathCount:ke.pathCount,publicSafe:!0}}catch{const c="private-execution-ux-admission-unverified";return{success:!1,error:c,errorCode:c,exitCode:1}}let Ct,Ke,ge;if(e.privateExecutionBeta&&F==="property-test")try{if(o.selection.positionals.length!==0||o.selection.operationId!==void 0||Object.keys(o.selection.options).length!==0)throw new Error("private-execution-property-admission-unverified");const{loadPropertyTestChoices:c}=await import("../private-execution/property-test-choices.js"),{propertyTestExecutionInput:d}=await import("../private-execution/property-test-plan.js"),g=c(s);if(!g)throw new Error("private-execution-property-admission-unverified");Ct=g.choices,Ke=g.plan,ge=d(g.plan)}catch{const c="private-execution-property-admission-unverified";return{success:!1,error:c,errorCode:c,exitCode:1}}let Y={args:i,projectRoot:s.replace(Yt(),"~"),stateSnapshot:O,...Fe?{architectureAnswerReceipt:Fe}:{},...J?{pactExecutionInput:J}:{},...se?{uxExecutionInput:se}:{},...ge?{propertyTestExecutionInput:ge}:{},platformTarget:T,...P?{nativeHostAttestation:P}:{},...vt?{privateExecution:vt}:{},projectId:Ne,inputEvidence:n,idempotencyKey:We,registryVersion:gt,registryChecksum:mt,compatibility:Vn(),...e.releaseGate?{releaseGate:e.releaseGate}:{},...He?{strictReadOnly:He}:{}};const vn=Bt(Y);if(!C&&e.inputSource&&e.inputSource!=="args"&&vn>=Ln)try{Y={argsRef:(await pi(p,"secondary-mutation",()=>Vo(_,i,$.token,()=>$.client.forceRefresh()),async()=>{throw new Dt("readonly-physical-boundary-unsafe","boundary")})).argsRef,projectRoot:s.replace(Yt(),"~"),stateSnapshot:O,...Fe?{architectureAnswerReceipt:Fe}:{},platformTarget:T,...P?{nativeHostAttestation:P}:{},...vt?{privateExecution:vt}:{},projectId:Ne,inputEvidence:n,idempotencyKey:We,registryVersion:gt,registryChecksum:mt,compatibility:Vn(),...e.releaseGate?{releaseGate:e.releaseGate}:{},...He?{strictReadOnly:He}:{}}}catch(c){return c instanceof Dt?{success:!1,error:c.code,errorCode:c.code,exitCode:1}:{success:!1,error:`INVOKE_MATERIALIZATION_FAILED: ${c instanceof Error?c.message:String(c)}`,errorCode:"INVOKE_MATERIALIZATION_FAILED",exitCode:1}}if(F==="yolo"&&O.scope?.projectionMode==="yolo-story"){const c=O.scope?.targetStoryId,d=O.scope?.targetEpicId;if(!c||!d||!Q||Q.storyId!==c||Q.epicId!==d)return{success:!1,error:"yolo-spec-envelope-target-mismatch",errorCode:"yolo-spec-envelope-target-mismatch",exitCode:1};try{const g=$i(Q);if(/\sbranchless-preparation\s*$/.test(i))Y={...Y,yoloSpecEnvelope:g};else{const{collectYoloChangeEvidence:b,reconcileYoloChangeEvidenceLease:q}=await import("../yolo/change-evidence-collector.js");await q({projectRoot:s,storyId:c,epicId:d});const he=b({projectRoot:s,defaultBranch:O.config.default_branch,expectedHeadSha:g.sourceRevision.headSha,storyId:c,epicId:d});Y={...Y,yoloSpecEnvelope:g,yoloChangeEvidence:he}}}catch(g){const b=g instanceof Error&&/^yolo-(?:spec-envelope|change-evidence)-[a-z-]+$/.test(g.message)?g.message:"yolo-spec-envelope-unsafe";return{success:!1,error:b,errorCode:b,exitCode:1}}}try{const c=sa(Y);if(F==="migrate-state"&&c.degraded)return{success:!1,error:"state_migration_payload_degraded",errorCode:"state_migration_payload_degraded",exitCode:1};Y=c.body,c.degraded?pa(Y,c.telemetry):Ho(Y)}catch(c){if(c instanceof Bn||c instanceof Un)return pa(Y,c.telemetry),process.stderr.write(`[Neocortex] ${c.message}
51
- `),{success:!1,error:c.message,errorCode:c.code,metadata:{invokePayload:c.telemetry},exitCode:1};throw c}if(F==="yolo"&&Y.yoloSpecEnvelope)try{const c=Pr({projectRoot:s,storyId:Y.yoloSpecEnvelope.storyId,epicId:Y.yoloSpecEnvelope.epicId,inputSha256:n.sha256,collectedAt:Y.yoloSpecEnvelope.collectedAt});if(c.envelopeSha256!==Y.yoloSpecEnvelope.envelopeSha256)throw new Error("yolo-spec-envelope-stale");if(Y.yoloChangeEvidence){const{collectYoloChangeEvidence:d}=await import("../yolo/change-evidence-collector.js"),g=d({projectRoot:s,defaultBranch:O.config.default_branch,expectedHeadSha:c.sourceRevision.headSha,storyId:c.storyId,epicId:c.epicId});if(g.pathsSha256!==Y.yoloChangeEvidence.pathsSha256||g.baseSha!==Y.yoloChangeEvidence.baseSha)throw new Error("yolo-spec-envelope-stale")}}catch{return{success:!1,error:"yolo-spec-envelope-stale",errorCode:"yolo-spec-envelope-stale",exitCode:1}}const x=F==="arch-plan"?Y.stateSnapshot.archPlan?.execution:void 0;let wt;if(x?.owner==="root"&&(x.currentStageCommand==="arch-prd"||x.currentStageCommand==="arch-architecture"||x.currentStageCommand==="arch-fitness-functions"||x.currentStageCommand==="arch-api-contracts"||x.currentStageCommand==="generate-pacts"||x.currentStageCommand==="arch-api-integrations"||x.currentStageCommand==="arch-database"||x.currentStageCommand==="arch-security"||x.currentStageCommand==="arch-design-system"||x.currentStageCommand==="arch-ux-design"||x.currentStageCommand==="arch-performance"||x.currentStageCommand==="arch-testing"||x.currentStageCommand==="arch-infrastructure"||x.currentStageCommand==="arch-review"||x.currentStageCommand==="update-memory")&&(x.continuationState==="delegate"||x.continuationState==="advance"||x.currentStageCommand==="update-memory"&&x.continuationState==="complete"||x.currentStageCommand==="arch-review"&&x.continuationState==="ask-user"||x.currentStageCommand==="generate-pacts"&&x.continuationState==="ask-user"))try{const c=Be(z(s,".neocortex","state.json"),"utf8"),d=JSON.parse(c),g=h(d.archPlan)?d.archPlan.execution:void 0;if(dt?g!==void 0||!h(d.epics)||!Object.hasOwn(d.epics,String(x.targetEpicId))||x.graphSource!=="committed-epic-v1"||x.graphRevision!==Wt(s,String(x.targetEpicId)):!E(hn(g),x))throw new Error("architecture-root-state-binding-invalid");if(wt=Ye("sha256").update(c).digest("hex"),Fe&&Fe.stateSha256!==wt)throw new Error("architecture-root-state-binding-invalid");if(x.currentStageCommand==="update-memory"&&x.childStatus==="succeeded"){const b=x.continuationState==="complete"&&Array.isArray(x.acceptedStages)?{...x,continuationState:"delegate",acceptedStages:x.acceptedStages.slice(0,ir(x))}:x;if(!Gt(x.terminalMemoryCheckpoint,x)||!E(x.terminalMemoryCheckpoint,xn(s,b)))throw new Error("architecture-terminal-memory-physical-invalid")}}catch{return{success:!1,error:"architecture-root-state-binding-invalid",errorCode:"architecture-root-state-binding-invalid",exitCode:1}}let f=await Rr("invoke-query",()=>Ia(_,Y,$.token,{refreshToken:()=>$.client.forceRefresh()})),pt;if(C&&f.ok)try{if(y){const d=f.data?.metadata;if(d&&["stateUpdate","stateMutated","yoloopStateUpdate","continuityStateUpdate","checkpoint","schedulerStateUpdate","quotaCacheUpdate","projectIdentityMigration","epicClaim","gitLifecycleGraphAuthority"].some(b=>d[b]!==void 0))throw new Dt("readonly-response-conflict")}const c=f.data?.metadata.strictReadOnly;mi(p,c),y&&Si(f.data?.metadata.strictDiagnose,r,f.data?.instructions??""),pt=c.security}catch(c){const d=c instanceof Dt?c.code:"readonly-receipt-mismatch";return{success:!1,error:d,errorCode:d,exitCode:1}}if(!f.ok&&f.status===426){const c=f.errorBody,d=c?.upgrade_command??"npm install -g @ornexus/neocortex@latest",g=c?.min_version??"unknown";return process.stderr.write(`
47
+ `),{success:!1,error:X.error??"Runner auto-bootstrap required but failed.",errorCode:X.errorCode,exitCode:X.exitCode??1};if(X.metadata.command==="runner"&&(X.metadata.operation==="status"||X.metadata.operation==="doctor"))try{const c=e.runnerObserver??ti;N.runnerOperationalStatus=await c(X.metadata.operation,{projectRoot:s,env:e.environment??process.env,effectAuthority:p})}catch{}let k;try{const c=qa(D,N);if(c&&!c.ok){const d=`${c.code}: structural projection failed closed; select a valid target or repair the dependency DAG.`;return process.stderr.write(`${d}
48
+ `),{success:!1,error:d,errorCode:c.code,metadata:{stateProjection:c,publicSafe:!0},exitCode:1}}k=c?.snapshot??yr(D,N),on(D)==="migrate-state"&&(k={...k,migrationAuthority:za(s)})}catch(c){if(c instanceof Ka)return{success:!1,error:c.reasonCode,errorCode:c.reasonCode,exitCode:1};if(c instanceof Ir){const d=`${c.code}: structural projection failed closed; select a valid target or repair the dependency DAG.`;return process.stderr.write(`${d}
49
+ `),{success:!1,error:d,errorCode:c.code,metadata:{structuralProjection:{...c.publicDetails,publicSafe:!0}},exitCode:1}}throw c}if(!C)try{const{openNativeAgentPrivateStore:c,resolveNativeAgentPrivateRuntimePaths:d}=await import("../continuity/native-agent-store.js"),m=d(s);if(Nt(m.databasePath)){const b=await c(s);try{const q=b.store.listRecentNativeAgentDispatches(20);q.length>0&&(k.nativeAgentDispatches=q)}finally{b.store.close()}}}catch{}const G=on(D);let dt=!1;if(G==="arch-plan"&&!C&&k.archPlan?.execution===void 0){const c=xa(i);if(c)try{if(!Object.hasOwn(N.epics,c)||!Object.hasOwn(k.epics,c))throw new Error("architecture-root-epic-binding-invalid");const d=Wt(s,c);k={...k,archPlan:{execution:{schemaVersion:1,owner:"root",currentStageCommand:"arch-prd",continuationState:"delegate",evidencePolicy:"v2-required",targetEpicId:c,graphRevision:d,graphSource:"committed-epic-v1",acceptedStages:[]}}},dt=!0}catch{return{success:!1,error:"architecture-root-epic-binding-invalid",errorCode:"architecture-root-epic-binding-invalid",exitCode:1}}}if((G==="arch-plan"||G?.startsWith("arch-")||G==="generate-pacts"||G==="update-memory")&&k.archPlan?.execution?.graphSource==="committed-epic-v1")try{const c=k.archPlan.execution;if(typeof c.targetEpicId!="string"||typeof c.graphRevision!="string"||c.graphRevision!==Wt(s,c.targetEpicId))throw new Error("architecture-root-epic-binding-invalid")}catch{return{success:!1,error:"architecture-root-epic-binding-invalid",errorCode:"architecture-root-epic-binding-invalid",exitCode:1}}const ke=Pe;if((G==="create-epic"||G==="idea-diagnose")&&!ke){const c='EPIC_PROJECT_ID_REQUIRED: run `neocortex-client invoke --args "*migrate-project-id"` and retry the planning command. No repository checkout or database credentials are required.';return process.stderr.write(`${c}
50
+ `),{success:!1,error:c,errorCode:"EPIC_PROJECT_ID_REQUIRED",exitCode:1}}let ve;try{ve=p.execute({phase:"client-preflight",domain:"client-persistence",category:"pending-claim",operation:"update"},()=>G==="create-epic"||G==="idea-diagnose"?Qi(s,D,G):void 0,()=>{})}catch{return{success:!1,error:"EPIC_CLAIM_INTEGRITY_FAILURE",errorCode:"EPIC_CLAIM_INTEGRITY_FAILURE",exitCode:1}}const He=ve?.key??(G==="yolo"?Zi(s,D,ke,k):void 0);if(e.privateExecutionBeta&&G==="create-epic"&&ve){const c=Vt(s).operations[ve.fingerprint],d=c?.epicId?N.epics[c.epicId]:void 0,m=h(d?.createEpicPlanningPhysical)?d.createEpicPlanningPhysical:void 0;c?.claimId&&c.epicId&&d&&m?.claimId===c.claimId&&(k={...k,epics:{...k.epics,[c.epicId]:d},stories:{...k.stories,...Object.fromEntries((Array.isArray(d.stories)?d.stories:[]).filter(b=>typeof b=="string"&&N.stories[b]?.epic_id===c.epicId).map(b=>[b,N.stories[b]]))}})}const Fe=C?{schemaVersion:1,invocationId:p.invocationId,intent:p.intent,clientProjection:hi(Ar.map(c=>({...c,count:1})))}:void 0;let Z,le,oe;if(e.privateExecutionBeta&&G==="idea-research")try{const c=k.scope?.targetEpicId,d=c?k.epics[c]:void 0,m=h(d?.createEpicPlanningPhysical)?d.createEpicPlanningPhysical:void 0;if(!c||!m||typeof m.claimId!="string"||typeof m.receiptId!="string")throw new Error("planning-research-predecessor-unavailable");const b=z(s,".neocortex/state.json"),q=Lt(b);if(!q.isFile()||q.isSymbolicLink()||q.size>8*1024*1024)throw new Error("planning-research-state-unavailable");const he=Ue(b),de=JSON.parse(he.toString("utf8")),ne=pr(de,m.claimId,c),fe=h(de)&&h(de.epics)&&h(de.epics[c])?de.epics[c]:void 0,B=h(fe?.createEpicPlanningPhysical)?fe.createEpicPlanningPhysical:void 0;if(B?.receiptId!==m.receiptId||!I(B,m))throw new Error("planning-research-predecessor-drift");const Ee=[".neocortex/state.json",".neocortex/planning/planning.json",`.neocortex/planning/epic-${c}/idea.json`,`.neocortex/planning/epic-${c}/diagnosis.md`,`.neocortex/planning/epic-${c}/enriched-prompt.md`],Le={...process.env};for(const ge of["GIT_DIR","GIT_WORK_TREE","GIT_INDEX_FILE","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_COMMON_DIR","GIT_NAMESPACE","GIT_CEILING_DIRECTORIES"])delete Le[ge];for(const ge of Ee){const De=Lt(z(s,ge));if(!De.isFile()||De.isSymbolicLink()||De.size>8*1024*1024)throw new Error("planning-research-source-unavailable");const Qe=Be("git",["show",`HEAD:${ge}`],{cwd:s,env:Le,stdio:["ignore","pipe","ignore"],timeout:3e4,maxBuffer:8*1024*1024});if(!Ue(z(s,ge)).equals(Qe))throw new Error("planning-research-source-uncommitted")}le={claimId:m.claimId,epicId:c,diagnosisReceiptId:ne.diagnosisReceiptId,intakeRevision:ne.intakeRevision,physicalAcceptanceReceiptId:m.receiptId,sourceStateSha256:Ve("sha256").update(he).digest("hex")}}catch{return{success:!1,error:"private-execution-planning-predecessor-unavailable",errorCode:"private-execution-planning-predecessor-unavailable",exitCode:1}}if(e.privateExecutionBeta&&G==="generate-epic")try{const c=k.scope?.targetEpicId,d=c?k.epics[c]:void 0,m=h(d?.createEpicPlanningResearchPhysical)?d.createEpicPlanningResearchPhysical:void 0;if(!c||!m||typeof m.claimId!="string"||typeof m.receiptId!="string")throw new Error("planning-generation-predecessor-unavailable");const b=z(s,".neocortex/state.json"),q=Lt(b);if(!q.isFile()||q.isSymbolicLink()||q.size>8*1024*1024)throw new Error("planning-generation-state-unavailable");const he=Ue(b),de=JSON.parse(he.toString("utf8")),ne=ur(de,m.claimId,c),fe=h(de)&&h(de.epics)&&h(de.epics[c])?de.epics[c]:void 0,B=h(fe?.createEpicPlanningResearchPhysical)?fe.createEpicPlanningResearchPhysical:void 0;if(B?.receiptId!==m.receiptId||!I(B,m))throw new Error("planning-generation-predecessor-drift");const Ee=[".neocortex/state.json",".neocortex/planning/planning.json",`.neocortex/planning/epic-${c}/idea.json`,`.neocortex/planning/epic-${c}/diagnosis.md`,`.neocortex/planning/epic-${c}/enriched-prompt.md`,`.neocortex/planning/epic-${c}/research.md`],Le={...process.env};for(const ge of["GIT_DIR","GIT_WORK_TREE","GIT_INDEX_FILE","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_COMMON_DIR","GIT_NAMESPACE","GIT_CEILING_DIRECTORIES"])delete Le[ge];for(const ge of Ee){const De=Lt(z(s,ge));if(!De.isFile()||De.isSymbolicLink()||De.size>8*1024*1024)throw new Error("planning-generation-source-unavailable");const Qe=Be("git",["show",`HEAD:${ge}`],{cwd:s,env:Le,stdio:["ignore","pipe","ignore"],timeout:3e4,maxBuffer:8*1024*1024});if(!Ue(z(s,ge)).equals(Qe))throw new Error("planning-generation-source-uncommitted")}oe={claimId:m.claimId,epicId:c,diagnosisReceiptId:ne.diagnosisReceiptId,researchReceiptId:ne.researchReceiptId,intakeRevision:ne.intakeRevision,physicalAcceptanceReceiptId:ne.physicalAcceptanceReceiptId,sourceStateSha256:Ve("sha256").update(he).digest("hex")}}catch{return{success:!1,error:"private-execution-planning-predecessor-unavailable",errorCode:"private-execution-planning-predecessor-unavailable",exitCode:1}}if(e.privateExecutionBeta)try{const{preflightPrivateCodexExecutor:c}=await import("../private-execution/codex-executor.js");Z=await c(s)}catch(c){const d=c instanceof Error&&/^private-codex-[a-z-]+$/.test(c.message)?c.message:"private-codex-preflight-unavailable";return{success:!1,error:d,errorCode:d,exitCode:1}}const vt=Z?{schemaVersion:1,hostKind:"codex-cli",hostVersion:Z.hostVersion,sandboxProof:{schemaVersion:6,trust:"client-self-attested",credentialKind:"chatgpt-subscription",authIsolation:"passed",workspaceWrite:"passed",gitControlWriteDenied:"passed",gitLifecycleReadDenied:"passed",mcpIsolation:"passed",environmentIsolation:"passed",networkDenied:"passed",webSearchDisabled:"passed",observedAtMs:Z.observedAtMs}}:void 0;let qe;if(G==="arch-plan"&&k.archPlan?.execution?.currentStageCommand==="generate-pacts"&&k.archPlan.execution.continuationState==="ask-user")try{if(qe=sr(s),!qe)throw new Error("architecture-answers-required")}catch(c){const d=c instanceof Error&&/^architecture-answers-[a-z-]+$/.test(c.message)?c.message:"architecture-answers-failed";return{success:!1,error:d,errorCode:d,exitCode:1}}let Ye;if(G==="arch-plan"&&k.archPlan?.execution?.currentStageCommand==="generate-pacts"&&k.archPlan.execution.continuationState==="delegate"&&k.archPlan.execution.childStatus==="succeeded")try{if(Ye=sr(s),!Ye||!I(k.archPlan.execution.pactAnswerReceipt,Ye))throw new Error("architecture-answers-conflict")}catch{return{success:!1,error:"architecture-answers-conflict",errorCode:"architecture-answers-conflict",exitCode:1}}let j,ce,J;if(e.privateExecutionBeta&&G==="generate-pacts")try{const c=i.trim().match(/^\*?generate-pacts (P[1-9][0-9]{0,11})$/)?.[1],d=k.archPlan?.execution;if(ce=ba(s),!c||!d||d.currentStageCommand!=="generate-pacts"||d.continuationState!=="delegate"||d.targetEpicId!==c||!ce||!I(d.pactAnswerReceipt,ce.receipt))throw new Error("private-execution-pact-admission-unverified");const m=Ta(s,ce.answers.generateProvider);if(m.outcome!=="ready")throw new Error("private-execution-pact-admission-unverified");j=m.writeSet,J={schemaVersion:1,targetEpicId:c,graphRevision:ce.receipt.graphRevision,answersSha256:ce.receipt.answersSha256,specSha256:j.specSha256,pathsSha256:j.pathsSha256,endpointCount:j.endpointCount,pathCount:j.paths.length,publicSafe:!0}}catch{const c="private-execution-pact-admission-unverified";return{success:!1,error:c,errorCode:c,exitCode:1}}let Oe,se;if(e.privateExecutionBeta&&G==="arch-ux-design")try{const c=i.trim().match(/^\*?arch-ux-design (P[1-9][0-9]{0,11})$/)?.[1],d=k.archPlan?.execution;if(!c||!d||d.currentStageCommand!=="arch-ux-design"||d.continuationState!=="delegate"||d.targetEpicId!==c||typeof d.graphRevision!="string"||!/^[a-f0-9]{64}$/.test(d.graphRevision))throw new Error("private-execution-ux-admission-unverified");const{deriveUxWriteSet:m}=await import("../private-execution/ux-write-set.js");Oe=m(s,c),se={schemaVersion:1,targetEpicId:c,graphRevision:d.graphRevision,adapterId:Oe.adapterId,authoritySha256:Oe.authoritySha256,pathsSha256:Oe.pathsSha256,screenCount:Oe.screenCount,pathCount:Oe.pathCount,publicSafe:!0}}catch{const c="private-execution-ux-admission-unverified";return{success:!1,error:c,errorCode:c,exitCode:1}}let Ct,Ke,me;if(e.privateExecutionBeta&&G==="property-test")try{if(o.selection.positionals.length!==0||o.selection.operationId!==void 0||Object.keys(o.selection.options).length!==0)throw new Error("private-execution-property-admission-unverified");const{loadPropertyTestChoices:c}=await import("../private-execution/property-test-choices.js"),{propertyTestExecutionInput:d}=await import("../private-execution/property-test-plan.js"),m=c(s);if(!m)throw new Error("private-execution-property-admission-unverified");Ct=m.choices,Ke=m.plan,me=d(m.plan)}catch{const c="private-execution-property-admission-unverified";return{success:!1,error:c,errorCode:c,exitCode:1}}let Y={args:i,projectRoot:s.replace(Yt(),"~"),stateSnapshot:k,...qe?{architectureAnswerReceipt:qe}:{},...J?{pactExecutionInput:J}:{},...se?{uxExecutionInput:se}:{},...me?{propertyTestExecutionInput:me}:{},platformTarget:T,...P?{nativeHostAttestation:P}:{},...vt?{privateExecution:vt}:{},projectId:ke,inputEvidence:n,idempotencyKey:He,registryVersion:mt,registryChecksum:gt,compatibility:Bn(),...e.releaseGate?{releaseGate:e.releaseGate}:{},...Fe?{strictReadOnly:Fe}:{}};const vn=Bt(Y);if(!C&&e.inputSource&&e.inputSource!=="args"&&vn>=Dn)try{Y={argsRef:(await pi(p,"secondary-mutation",()=>Bo(_,i,$.token,()=>$.client.forceRefresh()),async()=>{throw new Dt("readonly-physical-boundary-unsafe","boundary")})).argsRef,projectRoot:s.replace(Yt(),"~"),stateSnapshot:k,...qe?{architectureAnswerReceipt:qe}:{},platformTarget:T,...P?{nativeHostAttestation:P}:{},...vt?{privateExecution:vt}:{},projectId:ke,inputEvidence:n,idempotencyKey:He,registryVersion:mt,registryChecksum:gt,compatibility:Bn(),...e.releaseGate?{releaseGate:e.releaseGate}:{},...Fe?{strictReadOnly:Fe}:{}}}catch(c){return c instanceof Dt?{success:!1,error:c.code,errorCode:c.code,exitCode:1}:{success:!1,error:`INVOKE_MATERIALIZATION_FAILED: ${c instanceof Error?c.message:String(c)}`,errorCode:"INVOKE_MATERIALIZATION_FAILED",exitCode:1}}if(G==="yolo"&&k.scope?.projectionMode==="yolo-story"){const c=k.scope?.targetStoryId,d=k.scope?.targetEpicId;if(!c||!d||!Q||Q.storyId!==c||Q.epicId!==d)return{success:!1,error:"yolo-spec-envelope-target-mismatch",errorCode:"yolo-spec-envelope-target-mismatch",exitCode:1};try{const m=$i(Q);if(/\sbranchless-preparation\s*$/.test(i))Y={...Y,yoloSpecEnvelope:m};else{const{collectYoloChangeEvidence:b,reconcileYoloChangeEvidenceLease:q}=await import("../yolo/change-evidence-collector.js");await q({projectRoot:s,storyId:c,epicId:d});const he=b({projectRoot:s,defaultBranch:k.config.default_branch,expectedHeadSha:m.sourceRevision.headSha,storyId:c,epicId:d});Y={...Y,yoloSpecEnvelope:m,yoloChangeEvidence:he}}}catch(m){const b=m instanceof Error&&/^yolo-(?:spec-envelope|change-evidence)-[a-z-]+$/.test(m.message)?m.message:"yolo-spec-envelope-unsafe";return{success:!1,error:b,errorCode:b,exitCode:1}}}try{const c=sa(Y);if(G==="migrate-state"&&c.degraded)return{success:!1,error:"state_migration_payload_degraded",errorCode:"state_migration_payload_degraded",exitCode:1};Y=c.body,c.degraded?pa(Y,c.telemetry):Fo(Y)}catch(c){if(c instanceof Un||c instanceof $n)return pa(Y,c.telemetry),process.stderr.write(`[Neocortex] ${c.message}
51
+ `),{success:!1,error:c.message,errorCode:c.code,metadata:{invokePayload:c.telemetry},exitCode:1};throw c}if(G==="yolo"&&Y.yoloSpecEnvelope)try{const c=Pr({projectRoot:s,storyId:Y.yoloSpecEnvelope.storyId,epicId:Y.yoloSpecEnvelope.epicId,inputSha256:n.sha256,collectedAt:Y.yoloSpecEnvelope.collectedAt});if(c.envelopeSha256!==Y.yoloSpecEnvelope.envelopeSha256)throw new Error("yolo-spec-envelope-stale");if(Y.yoloChangeEvidence){const{collectYoloChangeEvidence:d}=await import("../yolo/change-evidence-collector.js"),m=d({projectRoot:s,defaultBranch:k.config.default_branch,expectedHeadSha:c.sourceRevision.headSha,storyId:c.storyId,epicId:c.epicId});if(m.pathsSha256!==Y.yoloChangeEvidence.pathsSha256||m.baseSha!==Y.yoloChangeEvidence.baseSha)throw new Error("yolo-spec-envelope-stale")}}catch{return{success:!1,error:"yolo-spec-envelope-stale",errorCode:"yolo-spec-envelope-stale",exitCode:1}}const x=G==="arch-plan"?Y.stateSnapshot.archPlan?.execution:void 0;let wt;if(x?.owner==="root"&&(x.currentStageCommand==="arch-prd"||x.currentStageCommand==="arch-architecture"||x.currentStageCommand==="arch-fitness-functions"||x.currentStageCommand==="arch-api-contracts"||x.currentStageCommand==="generate-pacts"||x.currentStageCommand==="arch-api-integrations"||x.currentStageCommand==="arch-database"||x.currentStageCommand==="arch-security"||x.currentStageCommand==="arch-design-system"||x.currentStageCommand==="arch-ux-design"||x.currentStageCommand==="arch-performance"||x.currentStageCommand==="arch-testing"||x.currentStageCommand==="arch-infrastructure"||x.currentStageCommand==="arch-review"||x.currentStageCommand==="update-memory")&&(x.continuationState==="delegate"||x.continuationState==="advance"||x.currentStageCommand==="update-memory"&&x.continuationState==="complete"||x.currentStageCommand==="arch-review"&&x.continuationState==="ask-user"||x.currentStageCommand==="generate-pacts"&&x.continuationState==="ask-user"))try{const c=Ue(z(s,".neocortex","state.json"),"utf8"),d=JSON.parse(c),m=h(d.archPlan)?d.archPlan.execution:void 0;if(dt?m!==void 0||!h(d.epics)||!Object.hasOwn(d.epics,String(x.targetEpicId))||x.graphSource!=="committed-epic-v1"||x.graphRevision!==Wt(s,String(x.targetEpicId)):!I(hn(m),x))throw new Error("architecture-root-state-binding-invalid");if(wt=Ve("sha256").update(c).digest("hex"),qe&&qe.stateSha256!==wt)throw new Error("architecture-root-state-binding-invalid");if(x.currentStageCommand==="update-memory"&&x.childStatus==="succeeded"){const b=x.continuationState==="complete"&&Array.isArray(x.acceptedStages)?{...x,continuationState:"delegate",acceptedStages:x.acceptedStages.slice(0,or(x))}:x;if(!Gt(x.terminalMemoryCheckpoint,x)||!I(x.terminalMemoryCheckpoint,xn(s,b)))throw new Error("architecture-terminal-memory-physical-invalid")}}catch{return{success:!1,error:"architecture-root-state-binding-invalid",errorCode:"architecture-root-state-binding-invalid",exitCode:1}}let f=await Rr("invoke-query",()=>Ia(_,Y,$.token,{refreshToken:()=>$.client.forceRefresh()})),pt;if(C&&f.ok)try{if(E){const d=f.data?.metadata;if(d&&["stateUpdate","stateMutated","yoloopStateUpdate","continuityStateUpdate","checkpoint","schedulerStateUpdate","quotaCacheUpdate","projectIdentityMigration","epicClaim","gitLifecycleGraphAuthority"].some(b=>d[b]!==void 0))throw new Dt("readonly-response-conflict")}const c=f.data?.metadata.strictReadOnly;gi(p,c),E&&Si(f.data?.metadata.strictDiagnose,r,f.data?.instructions??""),pt=c.security}catch(c){const d=c instanceof Dt?c.code:"readonly-receipt-mismatch";return{success:!1,error:d,errorCode:d,exitCode:1}}if(!f.ok&&f.status===426){const c=f.errorBody,d=c?.upgrade_command??"npm install -g @ornexus/neocortex@latest",m=c?.min_version??"unknown";return process.stderr.write(`
52
52
  `),process.stderr.write(`==================================================
53
53
  `),process.stderr.write(` UPGRADE REQUIRED
54
54
  `),process.stderr.write(`==================================================
55
55
  `),process.stderr.write(`
56
56
  Your Neocortex version (${xt}) is no longer supported.
57
- `),process.stderr.write(` Minimum required: ${g}
57
+ `),process.stderr.write(` Minimum required: ${m}
58
58
 
59
59
  `),process.stderr.write(` Run this command to update:
60
60
 
@@ -63,10 +63,10 @@ ${t}
63
63
  `),process.stderr.write(` After updating, re-run your command.
64
64
  `),process.stderr.write(`==================================================
65
65
 
66
- `),{success:!1,error:`UPGRADE_REQUIRED: Client version ${xt} is below minimum ${g}. Run: ${d}`,exitCode:3}}if(!f.ok||!f.data){const c=f.status===401?2:(f.status===429||f.status>=500,1),d=Oo(f);try{if(d){const g=gr(),b=fr(d,g);b&&process.stderr.write(mr(b,g))}}catch{}return{success:!1,error:Je(f.error??"Unknown error from server",Tt),...d?{errorCode:d}:{},...f.compatibility?{metadata:{compatibility:f.compatibility}}:{},exitCode:c}}const $t=eo(f.data);if($t)return p.complete(pt),$t;let ye;try{ye=e.privateExecutionBeta&&F==="create-epic"&&ve?Vt(s).operations[ve.fingerprint]:void 0}catch{return{success:!1,error:"EPIC_CLAIM_INTEGRITY_FAILURE",errorCode:"EPIC_CLAIM_INTEGRITY_FAILURE",exitCode:1}}const Qt=ye?.planningProtocol==="root-staged-v1"&&typeof ye.claimId=="string"&&typeof ye.epicId=="string"&&La(f.data,{claimId:ye.claimId,epicId:ye.epicId,...h(N.epics[ye.epicId]?.createEpicPlanningMemoryPhysical)?{memoryReceiptId:N.epics[ye.epicId].createEpicPlanningMemoryPhysical.receiptId}:{}});if(e.privateExecutionBeta&&!Qt&&!Na(f.data))return{success:!1,error:"private-execution-public-envelope-invalid",errorCode:"private-execution-public-envelope-invalid",exitCode:1};if(wt&&x&&f.data.metadata?.mode==="arch-plan"&&h(f.data.metadata.archPlan)&&h(f.data.metadata.archPlan.execution)&&(f.data.metadata.archPlan.execution.nextAction==="delegate"||f.data.metadata.archPlan.execution.nextAction==="resume"||f.data.metadata.archPlan.execution.nextAction==="ask-user"||f.data.metadata.archPlan.execution.nextAction==="complete"&&f.data.metadata.archPlan.execution.currentStageCommand==="update-memory"||f.data.metadata.archPlan.execution.nextAction==="blocked"&&(f.data.metadata.archPlan.execution.currentStageCommand==="arch-ux-design"||f.data.metadata.archPlan.execution.currentStageCommand==="arch-performance"||f.data.metadata.archPlan.execution.currentStageCommand==="arch-testing"||f.data.metadata.archPlan.execution.currentStageCommand==="arch-infrastructure"||f.data.metadata.archPlan.execution.currentStageCommand==="arch-review")))try{await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"state-writeback",operation:"update"},async()=>Eo({projectRoot:s,sourceStateSha256:wt,requestExecution:x,initialBinding:dt,answerReceipt:Fe,pactRecordedReceipt:qe,metadata:f.data.metadata}),async()=>{throw new Error("architecture-root-writeback-effect-skipped")})}catch(c){const d=c instanceof Error&&/^architecture-root-[a-z-]+$/.test(c.message)?c.message:"architecture-root-writeback-failed";return process.stderr.write(`[Neocortex] ${d}. Root stage instruction was not released.
67
- `),{success:!1,error:d,errorCode:d,exitCode:1}}if(!M&&f.data.metadata?.mode==="menu"&&ie&&await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"auth-cache",operation:"update"},()=>Po(ie,f.data.instructions,f.data.metadata),async()=>{}).catch(()=>{}),f.data.metadata&&await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"tier-cache",operation:"update"},()=>$.tierClient.updateQuotaFromResponse(f.data.metadata),async()=>{}).catch(()=>{}),f.data.metadata?.stateMutated===!0)try{const c=await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"state-writeback",operation:"update"},async()=>{const{persistMigratedStateFromResponse:d}=await import("../yoloop/invoke-hooks.js");return d(f.data.metadata,s)},async()=>({applied:!1,blocking:!1,reasonCode:"state-writeback-effect-skipped"}));if(c.blocking){const d=`STATE_WRITEBACK_BLOCKED: ${c.reasonCode}. Canonical state was not replaced.`;return process.stderr.write(`${d}
68
- `),{success:!1,error:d,errorCode:"STATE_WRITEBACK_BLOCKED",exitCode:1}}}catch(c){if(f.data.metadata?.stateMutationReason==="inline-yolo-materialized-synthetic-story"){const d=c instanceof Error?c.message:String(c),g=`STATE_WRITEBACK_BLOCKED: inline-yolo persistence failed (${Je(d,Tt)}).`;return process.stderr.write(`${g}
69
- `),{success:!1,error:g,errorCode:"STATE_WRITEBACK_BLOCKED",exitCode:1}}}if(f.data.metadata?.gitLifecycleGraphAuthority)try{await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"state-writeback",operation:"update"},()=>Li(s,f.data.metadata.gitLifecycleGraphAuthority),async()=>{throw new Error("git-lifecycle-graph-authority-effect-skipped")})}catch(c){const d=c instanceof Error&&/^git-lifecycle-/.test(c.message)?c.message:"git-lifecycle-graph-authority-persist-failed";return process.stderr.write(`[Neocortex] ${d}. Graph authority was not persisted; no YOLO checkpoint instruction was released.
66
+ `),{success:!1,error:`UPGRADE_REQUIRED: Client version ${xt} is below minimum ${m}. Run: ${d}`,exitCode:3}}if(!f.ok||!f.data){const c=f.status===401?2:(f.status===429||f.status>=500,1),d=No(f);try{if(d){const m=mr(),b=fr(d,m);b&&process.stderr.write(gr(b,m))}}catch{}return{success:!1,error:Je(f.error??"Unknown error from server",Tt),...d?{errorCode:d}:{},...f.compatibility?{metadata:{compatibility:f.compatibility}}:{},exitCode:c}}const $t=to(f.data);if($t)return p.complete(pt),$t;let ye;try{ye=e.privateExecutionBeta&&G==="create-epic"&&ve?Vt(s).operations[ve.fingerprint]:void 0}catch{return{success:!1,error:"EPIC_CLAIM_INTEGRITY_FAILURE",errorCode:"EPIC_CLAIM_INTEGRITY_FAILURE",exitCode:1}}const Qt=ye?.planningProtocol==="root-staged-v1"&&typeof ye.claimId=="string"&&typeof ye.epicId=="string"&&La(f.data,{claimId:ye.claimId,epicId:ye.epicId,...h(N.epics[ye.epicId]?.createEpicPlanningMemoryPhysical)?{memoryReceiptId:N.epics[ye.epicId].createEpicPlanningMemoryPhysical.receiptId}:{}});if(e.privateExecutionBeta&&!Qt&&!Na(f.data))return{success:!1,error:"private-execution-public-envelope-invalid",errorCode:"private-execution-public-envelope-invalid",exitCode:1};if(wt&&x&&f.data.metadata?.mode==="arch-plan"&&h(f.data.metadata.archPlan)&&h(f.data.metadata.archPlan.execution)&&(f.data.metadata.archPlan.execution.nextAction==="delegate"||f.data.metadata.archPlan.execution.nextAction==="resume"||f.data.metadata.archPlan.execution.nextAction==="ask-user"||f.data.metadata.archPlan.execution.nextAction==="complete"&&f.data.metadata.archPlan.execution.currentStageCommand==="update-memory"||f.data.metadata.archPlan.execution.nextAction==="blocked"&&(f.data.metadata.archPlan.execution.currentStageCommand==="arch-ux-design"||f.data.metadata.archPlan.execution.currentStageCommand==="arch-performance"||f.data.metadata.archPlan.execution.currentStageCommand==="arch-testing"||f.data.metadata.archPlan.execution.currentStageCommand==="arch-infrastructure"||f.data.metadata.archPlan.execution.currentStageCommand==="arch-review")))try{await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"state-writeback",operation:"update"},async()=>Io({projectRoot:s,sourceStateSha256:wt,requestExecution:x,initialBinding:dt,answerReceipt:qe,pactRecordedReceipt:Ye,metadata:f.data.metadata}),async()=>{throw new Error("architecture-root-writeback-effect-skipped")})}catch(c){const d=c instanceof Error&&/^architecture-root-[a-z-]+$/.test(c.message)?c.message:"architecture-root-writeback-failed";return process.stderr.write(`[Neocortex] ${d}. Root stage instruction was not released.
67
+ `),{success:!1,error:d,errorCode:d,exitCode:1}}if(!D&&f.data.metadata?.mode==="menu"&&ie&&await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"auth-cache",operation:"update"},()=>ko(ie,f.data.instructions,f.data.metadata),async()=>{}).catch(()=>{}),f.data.metadata&&await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"tier-cache",operation:"update"},()=>$.tierClient.updateQuotaFromResponse(f.data.metadata),async()=>{}).catch(()=>{}),f.data.metadata?.stateMutated===!0)try{const c=await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"state-writeback",operation:"update"},async()=>{const{persistMigratedStateFromResponse:d}=await import("../yoloop/invoke-hooks.js");return d(f.data.metadata,s)},async()=>({applied:!1,blocking:!1,reasonCode:"state-writeback-effect-skipped"}));if(c.blocking){const d=`STATE_WRITEBACK_BLOCKED: ${c.reasonCode}. Canonical state was not replaced.`;return process.stderr.write(`${d}
68
+ `),{success:!1,error:d,errorCode:"STATE_WRITEBACK_BLOCKED",exitCode:1}}}catch(c){if(f.data.metadata?.stateMutationReason==="inline-yolo-materialized-synthetic-story"){const d=c instanceof Error?c.message:String(c),m=`STATE_WRITEBACK_BLOCKED: inline-yolo persistence failed (${Je(d,Tt)}).`;return process.stderr.write(`${m}
69
+ `),{success:!1,error:m,errorCode:"STATE_WRITEBACK_BLOCKED",exitCode:1}}}if(f.data.metadata?.gitLifecycleGraphAuthority)try{await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"state-writeback",operation:"update"},()=>Li(s,f.data.metadata.gitLifecycleGraphAuthority),async()=>{throw new Error("git-lifecycle-graph-authority-effect-skipped")})}catch(c){const d=c instanceof Error&&/^git-lifecycle-/.test(c.message)?c.message:"git-lifecycle-graph-authority-persist-failed";return process.stderr.write(`[Neocortex] ${d}. Graph authority was not persisted; no YOLO checkpoint instruction was released.
70
70
  `),{success:!1,error:d,errorCode:"GIT_LIFECYCLE_GRAPH_AUTHORITY_INVALID",exitCode:1}}if(f.data.metadata?.mode==="error"&&f.data.metadata?.errorCode==="CLIENT_UPGRADE_REQUIRED")return process.stderr.write(`
71
71
  `),process.stderr.write(`==================================================
72
72
  `),process.stderr.write(` YOLOOP CLIENT UPGRADE REQUIRED
@@ -82,16 +82,16 @@ ${t}
82
82
  `),process.stderr.write(` After upgrading, re-run your yoloop command.
83
83
  `),process.stderr.write(`==================================================
84
84
 
85
- `),{success:!1,error:"CLIENT_UPGRADE_REQUIRED: This client does not support yoloop client-side persistence. Run: npm install -g @ornexus/neocortex@latest",exitCode:3};if(f.data.metadata?.yoloopStateUpdate){const d=(f.data.metadata.yoloopStateUpdate.operations??[]).some(g=>g.type==="rollover_session");try{const g=await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"state-writeback",operation:"update"},async()=>{const{persistYoloopFromResponse:b}=await import("../yoloop/invoke-hooks.js");return b(f.data.metadata,s)},async()=>({ok:!0,authoritative:!1,reasonCodes:[]}));if(g&&g.ok===!1){const b=g.reasonCodes[0]??"YOLOOP_AUTHORITATIVE_WRITEBACK_FAILED";return process.stderr.write(`[Neocortex] ${b}. No yoloop continuation instructions were released.
86
- `),{success:!1,error:b,errorCode:b,exitCode:1}}}catch(g){if(d){const b=g instanceof Error?g.message.match(/\bYOLOOP_[A-Z0-9_]+\b/)?.[0]??"YOLOOP_AUTHORITATIVE_WRITEBACK_FAILED":"YOLOOP_AUTHORITATIVE_WRITEBACK_FAILED";return process.stderr.write(`[Neocortex] ${b}. No yoloop continuation instructions were released.
85
+ `),{success:!1,error:"CLIENT_UPGRADE_REQUIRED: This client does not support yoloop client-side persistence. Run: npm install -g @ornexus/neocortex@latest",exitCode:3};if(f.data.metadata?.yoloopStateUpdate){const d=(f.data.metadata.yoloopStateUpdate.operations??[]).some(m=>m.type==="rollover_session");try{const m=await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"state-writeback",operation:"update"},async()=>{const{persistYoloopFromResponse:b}=await import("../yoloop/invoke-hooks.js");return b(f.data.metadata,s)},async()=>({ok:!0,authoritative:!1,reasonCodes:[]}));if(m&&m.ok===!1){const b=m.reasonCodes[0]??"YOLOOP_AUTHORITATIVE_WRITEBACK_FAILED";return process.stderr.write(`[Neocortex] ${b}. No yoloop continuation instructions were released.
86
+ `),{success:!1,error:b,errorCode:b,exitCode:1}}}catch(m){if(d){const b=m instanceof Error?m.message.match(/\bYOLOOP_[A-Z0-9_]+\b/)?.[0]??"YOLOOP_AUTHORITATIVE_WRITEBACK_FAILED":"YOLOOP_AUTHORITATIVE_WRITEBACK_FAILED";return process.stderr.write(`[Neocortex] ${b}. No yoloop continuation instructions were released.
87
87
  `),{success:!1,error:b,errorCode:b,exitCode:1}}}}if(f.data.metadata?.continuityStateUpdate)try{const c=await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"continuity-store",operation:"update"},async()=>{const{persistContinuityFromResponse:d}=await import("../continuity/invoke-hooks.js");return d(f.data.metadata,s)},async()=>({ok:!0,reasonCodes:[]}));if(!c.ok){const d=c.reasonCodes.join(",");return process.stderr.write(`[Neocortex] continuity persistence failed: ${d}. No continuity mutation was committed.
88
88
  `),{success:!1,error:`CONTINUITY_PERSISTENCE_FAILED: ${d}`,errorCode:"CONTINUITY_PERSISTENCE_FAILED",exitCode:1}}}catch(c){const d=c instanceof Error?c.message:String(c);return process.stderr.write(`[Neocortex] continuity persistence hook failed: ${d}. No continuity mutation was committed.
89
89
  `),{success:!1,error:`CONTINUITY_PERSISTENCE_FAILED: ${Je(d,Tt)}`,errorCode:"CONTINUITY_PERSISTENCE_FAILED",exitCode:1}}if(f.data.metadata?.tier_changed){const c=f.data.metadata.current_tier;try{await $.client.forceRefresh()?(await $.tierClient.invalidateTierCache(),process.stderr.write(`[Neocortex] Token atualizado automaticamente para tier ${c}
90
90
  `)):process.stderr.write(`[Neocortex] Seu tier foi atualizado para ${c}! Execute "neocortex activate" para obter um token atualizado.
91
91
  `)}catch{process.stderr.write(`[Neocortex] Seu tier foi atualizado para ${c}! Execute "neocortex activate" para obter um token atualizado.
92
- `)}}let te,tr=!1;if(e.privateExecutionBeta&&!Qt)try{if(!Z||!f.data.metadata?.privateExecution||!Ne||f.data.metadata?.mode!=="yolo"&&f.data.metadata?.mode!=="step"&&f.data.metadata?.mode!=="pipeline"&&f.data.metadata?.mode!=="create-epic"&&f.data.metadata?.mode!=="utility"&&f.data.metadata?.mode!=="tech-debt"&&f.data.metadata?.mode!=="ui-ux-review"||typeof f.data.metadata.stepId!="string")throw new Error("private-execution-descriptor-unavailable");const{consumePrivateExecutionDelivery:c,privateExecutionStateSnapshotSha256:d}=await import("../private-execution/delivery.js"),{preflightPrivateCodexExecutor:g,runPrivateCodexStep:b}=await import("../private-execution/codex-executor.js"),q=f.data.metadata.mode==="yolo",he=f.data.metadata.mode==="ui-ux-review"&&f.data.metadata.resolvedTrigger==="ui-ux-review",de=f.data.metadata.mode==="create-epic",ne=h(f.data.metadata.privateExecution)?f.data.metadata.privateExecution:void 0,fe=h(ne?.binding)?ne.binding:void 0,B=de&&f.data.metadata.resolvedTrigger==="create-epic"&&fe?.writeSetId==="idea-diagnosis-v1"&&f.data.metadata.stepId==="step-acd455ed";if(de&&!B)throw new Error("private-execution-planning-root-protocol-required");const Ee=f.data.metadata.mode==="step"&&f.data.metadata.resolvedTrigger==="idea-diagnose"||B,Le=f.data.metadata.mode==="step"&&f.data.metadata.resolvedTrigger==="idea-research",me=f.data.metadata.mode==="step"&&f.data.metadata.resolvedTrigger==="generate-epic",De=de||Ee;if(Le&&!le||me&&!oe)throw new Error("private-execution-planning-predecessor-unavailable");const Qe=f.data.metadata.mode==="utility"&&f.data.metadata.resolvedTrigger==="sync-openapi"||f.data.metadata.mode==="utility"&&f.data.metadata.resolvedTrigger==="chaos-plan"||I&&f.data.metadata.mode==="tech-debt"&&f.data.metadata.resolvedTrigger==="tech-debt",Ie=f.data.metadata.mode==="step"&&(f.data.metadata.resolvedTrigger==="arch-prd"||f.data.metadata.resolvedTrigger==="arch-architecture"||f.data.metadata.resolvedTrigger==="arch-fitness-functions"||f.data.metadata.resolvedTrigger==="arch-api-contracts"||f.data.metadata.resolvedTrigger==="arch-api-integrations"||f.data.metadata.resolvedTrigger==="arch-database"||f.data.metadata.resolvedTrigger==="arch-security"||f.data.metadata.resolvedTrigger==="arch-design-system"||f.data.metadata.resolvedTrigger==="arch-performance"||f.data.metadata.resolvedTrigger==="arch-testing"||f.data.metadata.resolvedTrigger==="arch-infrastructure"||f.data.metadata.resolvedTrigger==="arch-review"||f.data.metadata.resolvedTrigger==="update-memory")?f.data.metadata.resolvedTrigger:void 0,ut=Ie!==void 0,wn=Ie==="arch-prd"?"arch-prd-docs-v1":Ie==="update-memory"?"arch-memory-canonical-v1":Ie==="arch-review"?"arch-review-doc-v1":Ie==="arch-infrastructure"?"arch-infrastructure-doc-v1":Ie==="arch-testing"?"arch-testing-doc-v1":Ie==="arch-performance"?"arch-performance-doc-v1":Ie==="arch-design-system"?"arch-design-system-doc-v1":Ie==="arch-security"?"arch-security-doc-v1":Ie==="arch-database"?"arch-database-doc-v1":Ie==="arch-api-integrations"?"arch-api-integrations-doc-v1":Ie==="arch-api-contracts"?"arch-api-contracts-docs-v1":Ie==="arch-fitness-functions"?"arch-fitness-tools-v1":"arch-architecture-doc-v1",nt=f.data.metadata.mode==="step"&&f.data.metadata.resolvedTrigger==="generate-pacts",lt=f.data.metadata.mode==="step"&&f.data.metadata.resolvedTrigger==="arch-ux-design",ht=f.data.metadata.mode==="utility"&&f.data.metadata.resolvedTrigger==="property-test",_n=I?"tech-debt":f.data.metadata.resolvedTrigger==="chaos-plan"?"chaos-plan":"sync-openapi",nr=I?"tech-debt-registry-v1":_n==="chaos-plan"?"chaos-quarterly-v1":"sync-openapi-contract-v1",Ge=O.archPlan?.execution,Zt=Ge?.targetEpicId,en=Ge?.graphRevision;if(ut&&(Ge?.currentStageCommand!==Ie||typeof Zt!="string"||!/^P[1-9][0-9]{0,11}$/.test(Zt)||typeof en!="string"||!/^[a-f0-9]{64}$/.test(en)))throw new Error("private-execution-architecture-admission-unverified");if(nt&&(!J||!j||!ce||Ge?.currentStageCommand!=="generate-pacts"||Ge.continuationState!=="delegate"||Ge.targetEpicId!==J.targetEpicId||Ge.graphRevision!==J.graphRevision||!E(Ge.pactAnswerReceipt,ce.receipt)))throw new Error("private-execution-pact-admission-unverified");if(lt&&(!se||!ke||Ge?.currentStageCommand!=="arch-ux-design"||Ge.continuationState!=="delegate"||Ge.targetEpicId!==se.targetEpicId||Ge.graphRevision!==se.graphRevision))throw new Error("private-execution-ux-admission-unverified");if(ht&&(!ge||!Ct||!Ke||f.data.metadata.stepId!=="step-a8ce5c64"))throw new Error("private-execution-property-admission-unverified");let rr;if(nt){const{planPactToolchainManifest:ae,preparePactToolchainCandidate:ue}=await import("../private-execution/pact-toolchain.js");try{ae(s,ce.answers.generateProvider),rr=ue(s,ce.answers.generateProvider)}catch(G){if(G.message!=="pact-toolchain-manifest-unsupported")throw G}}let _t,pe,Rn;const re=f.data.metadata.gitLifecycleGraphAuthority,Rt=f.data.metadata.privateExecutionRootAction;let Xe;if(q){if(!re||typeof re.storyId!="string"||typeof re.graphRevision!="string"||typeof re.executionBranch!="string")throw new Error("private-execution-graph-unavailable");if(Xe=re.storyId,Rt?.action==="prepare-epic-checkout"){const{parsePrivateExecutionDescriptor:R}=await import("../private-execution/delivery.js"),{prepareDirectYoloSetup:Ae}=await import("../git/direct-yolo-checkpoint.js"),{acceptDirectYoloSetupCheckpoint:ft}=await import("../git/direct-yolo-checkpoint.js"),{capturePrivateYoloCleanHead:je,recordPrivateYoloCleanBaseline:Ce}=await import("../private-execution/clean-baseline.js"),we=R(f.data.metadata.privateExecution,{projectId:Ne,commandId:"yolo",stepId:f.data.metadata.stepId,graphRevision:re.graphRevision,inputSha256:n.sha256,hostKind:"codex-cli",hostVersion:Z.hostVersion}),at=await $.client.getToken();if(!at)throw new Error("private-execution-auth-unavailable");if(!await bc(_,{leaseId:we.leaseId,...we.binding},at))throw new Error("private-execution-setup-lease-cancel-unverified");const Ot=je(s),tn=await Ae({projectRoot:s,storyId:Rt.storyId});if(!tn.ok)throw new Error("private-execution-root-setup-denied");await Ce(s,tn.value,Ot);const{ensurePrivateYoloIsolatedSession:At}=await import("../private-execution/isolated-session.js");await At(s,Rt.storyId,re.graphRevision,e.privateExecutionWorkspaceParent);const bt=await ft({projectRoot:s,storyId:Rt.storyId});if(!bt.ok)throw new Error(`private-execution-root-setup-checkpoint-denied:${bt.reasonCode}`);te={schemaVersion:1,outcome:"setup-accepted",executorOutcome:"not-run-root-only",setup:bt.value,publicSafe:!0};const An=un(f.data.instructions,{...f.data.metadata,...f.compatibility?{compatibility:f.compatibility}:{}});return p.complete(pt),{success:!0,instructions:`# Setup do branch validado
92
+ `)}}let te,nr=!1;if(e.privateExecutionBeta&&!Qt)try{if(!Z||!f.data.metadata?.privateExecution||!ke||f.data.metadata?.mode!=="yolo"&&f.data.metadata?.mode!=="step"&&f.data.metadata?.mode!=="pipeline"&&f.data.metadata?.mode!=="create-epic"&&f.data.metadata?.mode!=="utility"&&f.data.metadata?.mode!=="tech-debt"&&f.data.metadata?.mode!=="ui-ux-review"||typeof f.data.metadata.stepId!="string")throw new Error("private-execution-descriptor-unavailable");const{consumePrivateExecutionDelivery:c,privateExecutionStateSnapshotSha256:d}=await import("../private-execution/delivery.js"),{preflightPrivateCodexExecutor:m,runPrivateCodexStep:b}=await import("../private-execution/codex-executor.js"),q=f.data.metadata.mode==="yolo",he=f.data.metadata.mode==="ui-ux-review"&&f.data.metadata.resolvedTrigger==="ui-ux-review",de=f.data.metadata.mode==="create-epic",ne=h(f.data.metadata.privateExecution)?f.data.metadata.privateExecution:void 0,fe=h(ne?.binding)?ne.binding:void 0,B=de&&f.data.metadata.resolvedTrigger==="create-epic"&&fe?.writeSetId==="idea-diagnosis-v1"&&f.data.metadata.stepId==="step-acd455ed";if(de&&!B)throw new Error("private-execution-planning-root-protocol-required");const Ee=f.data.metadata.mode==="step"&&f.data.metadata.resolvedTrigger==="idea-diagnose"||B,Le=f.data.metadata.mode==="step"&&f.data.metadata.resolvedTrigger==="idea-research",ge=f.data.metadata.mode==="step"&&f.data.metadata.resolvedTrigger==="generate-epic",De=de||Ee;if(Le&&!le||ge&&!oe)throw new Error("private-execution-planning-predecessor-unavailable");const Qe=f.data.metadata.mode==="utility"&&f.data.metadata.resolvedTrigger==="sync-openapi"||f.data.metadata.mode==="utility"&&f.data.metadata.resolvedTrigger==="chaos-plan"||y&&f.data.metadata.mode==="tech-debt"&&f.data.metadata.resolvedTrigger==="tech-debt",Ie=f.data.metadata.mode==="step"&&(f.data.metadata.resolvedTrigger==="arch-prd"||f.data.metadata.resolvedTrigger==="arch-architecture"||f.data.metadata.resolvedTrigger==="arch-fitness-functions"||f.data.metadata.resolvedTrigger==="arch-api-contracts"||f.data.metadata.resolvedTrigger==="arch-api-integrations"||f.data.metadata.resolvedTrigger==="arch-database"||f.data.metadata.resolvedTrigger==="arch-security"||f.data.metadata.resolvedTrigger==="arch-design-system"||f.data.metadata.resolvedTrigger==="arch-performance"||f.data.metadata.resolvedTrigger==="arch-testing"||f.data.metadata.resolvedTrigger==="arch-infrastructure"||f.data.metadata.resolvedTrigger==="arch-review"||f.data.metadata.resolvedTrigger==="update-memory")?f.data.metadata.resolvedTrigger:void 0,ut=Ie!==void 0,wn=Ie==="arch-prd"?"arch-prd-docs-v1":Ie==="update-memory"?"arch-memory-canonical-v1":Ie==="arch-review"?"arch-review-doc-v1":Ie==="arch-infrastructure"?"arch-infrastructure-doc-v1":Ie==="arch-testing"?"arch-testing-doc-v1":Ie==="arch-performance"?"arch-performance-doc-v1":Ie==="arch-design-system"?"arch-design-system-doc-v1":Ie==="arch-security"?"arch-security-doc-v1":Ie==="arch-database"?"arch-database-doc-v1":Ie==="arch-api-integrations"?"arch-api-integrations-doc-v1":Ie==="arch-api-contracts"?"arch-api-contracts-docs-v1":Ie==="arch-fitness-functions"?"arch-fitness-tools-v1":"arch-architecture-doc-v1",nt=f.data.metadata.mode==="step"&&f.data.metadata.resolvedTrigger==="generate-pacts",lt=f.data.metadata.mode==="step"&&f.data.metadata.resolvedTrigger==="arch-ux-design",ht=f.data.metadata.mode==="utility"&&f.data.metadata.resolvedTrigger==="property-test",_n=y?"tech-debt":f.data.metadata.resolvedTrigger==="chaos-plan"?"chaos-plan":"sync-openapi",rr=y?"tech-debt-registry-v1":_n==="chaos-plan"?"chaos-quarterly-v1":"sync-openapi-contract-v1",We=k.archPlan?.execution,Zt=We?.targetEpicId,en=We?.graphRevision;if(ut&&(We?.currentStageCommand!==Ie||typeof Zt!="string"||!/^P[1-9][0-9]{0,11}$/.test(Zt)||typeof en!="string"||!/^[a-f0-9]{64}$/.test(en)))throw new Error("private-execution-architecture-admission-unverified");if(nt&&(!J||!j||!ce||We?.currentStageCommand!=="generate-pacts"||We.continuationState!=="delegate"||We.targetEpicId!==J.targetEpicId||We.graphRevision!==J.graphRevision||!I(We.pactAnswerReceipt,ce.receipt)))throw new Error("private-execution-pact-admission-unverified");if(lt&&(!se||!Oe||We?.currentStageCommand!=="arch-ux-design"||We.continuationState!=="delegate"||We.targetEpicId!==se.targetEpicId||We.graphRevision!==se.graphRevision))throw new Error("private-execution-ux-admission-unverified");if(ht&&(!me||!Ct||!Ke||f.data.metadata.stepId!=="step-a8ce5c64"))throw new Error("private-execution-property-admission-unverified");let ar;if(nt){const{planPactToolchainManifest:ae,preparePactToolchainCandidate:ue}=await import("../private-execution/pact-toolchain.js");try{ae(s,ce.answers.generateProvider),ar=ue(s,ce.answers.generateProvider)}catch(W){if(W.message!=="pact-toolchain-manifest-unsupported")throw W}}let _t,pe,Rn;const re=f.data.metadata.gitLifecycleGraphAuthority,Rt=f.data.metadata.privateExecutionRootAction;let Xe;if(q){if(!re||typeof re.storyId!="string"||typeof re.graphRevision!="string"||typeof re.executionBranch!="string")throw new Error("private-execution-graph-unavailable");if(Xe=re.storyId,Rt?.action==="prepare-epic-checkout"){const{parsePrivateExecutionDescriptor:R}=await import("../private-execution/delivery.js"),{prepareDirectYoloSetup:Ae}=await import("../git/direct-yolo-checkpoint.js"),{acceptDirectYoloSetupCheckpoint:ft}=await import("../git/direct-yolo-checkpoint.js"),{capturePrivateYoloCleanHead:je,recordPrivateYoloCleanBaseline:Ce}=await import("../private-execution/clean-baseline.js"),we=R(f.data.metadata.privateExecution,{projectId:ke,commandId:"yolo",stepId:f.data.metadata.stepId,graphRevision:re.graphRevision,inputSha256:n.sha256,hostKind:"codex-cli",hostVersion:Z.hostVersion}),at=await $.client.getToken();if(!at)throw new Error("private-execution-auth-unavailable");if(!await xc(_,{leaseId:we.leaseId,...we.binding},at))throw new Error("private-execution-setup-lease-cancel-unverified");const Ot=je(s),tn=await Ae({projectRoot:s,storyId:Rt.storyId});if(!tn.ok)throw new Error("private-execution-root-setup-denied");await Ce(s,tn.value,Ot);const{ensurePrivateYoloIsolatedSession:At}=await import("../private-execution/isolated-session.js");await At(s,Rt.storyId,re.graphRevision,e.privateExecutionWorkspaceParent);const bt=await ft({projectRoot:s,storyId:Rt.storyId});if(!bt.ok)throw new Error(`private-execution-root-setup-checkpoint-denied:${bt.reasonCode}`);te={schemaVersion:1,outcome:"setup-accepted",executorOutcome:"not-run-root-only",setup:bt.value,publicSafe:!0};const An=un(f.data.instructions,{...f.data.metadata,...f.compatibility?{compatibility:f.compatibility}:{}});return p.complete(pt),{success:!0,instructions:`# Setup do branch validado
93
93
 
94
- O root confirmou o checkpoint C01 no branch do \xE9pico. Reexecute o mesmo YOLO para avan\xE7ar \xE0 pr\xF3xima etapa.`,metadata:{...An.metadata,privateExecutionReceipt:te},exitCode:0}}let ae;try{ae=Ve("git",["symbolic-ref","--quiet","--short","HEAD"],{cwd:s,encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()}catch{throw new Error("private-execution-execution-branch-mismatch")}if(ae!==re.executionBranch)throw new Error("private-execution-execution-branch-mismatch");const ue=dn(s,{required:!0}),G=typeof re.epicId=="string"?ue.epics[re.epicId]:void 0,L=h(G?.branch_lease)?G.branch_lease:void 0;if(!G||G.graph_revision!==re.graphRevision||!L||L.ownerStoryId!==re.storyId||typeof L.expiresAt!="string"||!Number.isFinite(Date.parse(L.expiresAt))||Date.parse(L.expiresAt)<=Date.now())throw new Error("private-execution-writer-lease-unavailable")}else if(f.data.metadata.mode==="step"&&(f.data.metadata.resolvedTrigger==="research"||f.data.metadata.resolvedTrigger==="write-spec"||f.data.metadata.resolvedTrigger==="create-tasks"||f.data.metadata.resolvedTrigger==="implement")||f.data.metadata.mode==="pipeline"&&f.data.metadata.resolvedTrigger==="exec"||de&&f.data.metadata.resolvedTrigger==="create-epic"||he||Ee||Le||me||Qe||ut||nt||lt||ht){if(!De&&!Le&&!me&&!Qe&&!he&&!ut&&!nt&&!lt&&!ht&&typeof f.data.metadata.storyId!="string")throw new Error("private-execution-descriptor-unavailable")}else throw new Error("private-execution-descriptor-unavailable");if(q){const{ensurePrivateYoloIsolatedSession:ae,reconcilePrivateYoloIsolatedSession:ue}=await import("../private-execution/isolated-session.js");if(Rt?.action==="checkpoint-epic-story")await ue(s,Xe,re.graphRevision);else{const G=await ae(s,Xe,re.graphRevision,e.privateExecutionWorkspaceParent),L=await g(G.workspace.workspacePath);if(L.hostVersion!==Z.hostVersion)throw new Error("private-codex-version-drift");Z=L}}if(Date.now()-Z.observedAtMs>2e4){const ae=await g(Z.projectRoot);if(ae.hostVersion!==Z.hostVersion)throw new Error("private-codex-version-drift");Z=ae}const ar=await $.client.getToken();if(!ar)throw new Error("private-execution-auth-unavailable");const Me=De?f.data.metadata.epicClaim:void 0;if(De&&(!Me||typeof Me.claimId!="string"||typeof Me.epicId!="string"))throw new Error("private-execution-descriptor-unavailable");if(De){if(!ve)throw new Error("private-execution-epic-claim-admission-unverified");p.execute({phase:"client-writeback",domain:"client-persistence",category:"pending-claim",operation:"update"},()=>Ur(s,ve.fingerprint,Me.claimId,Me.epicId,B?"root-staged-v1":void 0),()=>{}),tr=!0;const{preparePrivateYoloIsolatedWorkspace:ae,PRIVATE_EPIC_PENDING_SIDECAR:ue}=await import("../private-execution/isolated-workspace.js"),G=e.privateExecutionWorkspaceParent??z(Yt(),".local","share","neocortex","private-epic-workspaces");e.privateExecutionWorkspaceParent||Ht(G,{recursive:!0,mode:448}),_t=ae(s,G,!0),Rn=Ye("sha256").update(Be(z(s,ue))).digest("hex");const L=await g(_t.workspacePath);if(L.hostVersion!==Z.hostVersion)throw new Error("private-codex-version-drift");Z=L}else if(!q&&!he){const{preparePrivateYoloIsolatedWorkspace:ae}=await import("../private-execution/isolated-workspace.js"),ue=e.privateExecutionWorkspaceParent??z(Yt(),".local","share","neocortex","private-step-workspaces");if(e.privateExecutionWorkspaceParent||Ht(ue,{recursive:!0,mode:448}),pe=ae(s,ue,Le||me),Qe||ut||nt||lt||ht){if(!U)throw new Error("private-execution-project-snapshot-unverified");const{assertPrivateProjectStepBaseline:L}=await import("../private-execution/isolated-workspace.js");L(pe,U)}const G=await g(pe.workspacePath);if(G.hostVersion!==Z.hostVersion)throw new Error("private-codex-version-drift");Z=G}const rt=await c(f.data.metadata.privateExecution,{projectId:Ne,commandId:q?"yolo":de?"create-epic":ut?Ie:nt?"generate-pacts":lt?"arch-ux-design":ht?"property-test":Qe?_n:f.data.metadata.mode==="pipeline"?"exec":f.data.metadata.resolvedTrigger,stepId:f.data.metadata.stepId,...q?{graphRevision:re.graphRevision}:{...De?{claimId:Me.claimId,epicId:Me.epicId,...Ee?{writeSetId:"idea-diagnosis-v1"}:{}}:Le?{claimId:le.claimId,epicId:le.epicId,diagnosisReceiptId:le.diagnosisReceiptId,intakeRevision:le.intakeRevision,physicalAcceptanceReceiptId:le.physicalAcceptanceReceiptId,writeSetId:"idea-research-v1"}:me?{claimId:oe.claimId,epicId:oe.epicId,diagnosisReceiptId:oe.diagnosisReceiptId,researchReceiptId:oe.researchReceiptId,intakeRevision:oe.intakeRevision,physicalAcceptanceReceiptId:oe.physicalAcceptanceReceiptId,writeSetId:"generate-epic-v1"}:Qe?{writeSetId:nr}:he?{format:o.selection.uiUxReview?.json===!0?"json":"markdown"}:ut?{targetEpicId:Zt,graphRevision:en,writeSetId:wn}:nt?{targetEpicId:J.targetEpicId,graphRevision:J.graphRevision,answersSha256:J.answersSha256,specSha256:J.specSha256,pathsSha256:J.pathsSha256,endpointCount:J.endpointCount,pathCount:J.pathCount}:lt?{targetEpicId:se.targetEpicId,graphRevision:se.graphRevision,adapterId:se.adapterId,authoritySha256:se.authoritySha256,pathsSha256:se.pathsSha256,screenCount:se.screenCount,pathCount:se.pathCount}:ht?{prdPath:ge.prdPath,prdSha256:ge.prdSha256,planSha256:ge.planSha256,pathsSha256:ge.pathsSha256,aggregateCount:ge.aggregateCount,invariantCount:ge.invariantCount,pathCount:ge.pathCount,language:ge.language,numRuns:ge.numRuns}:{storyId:f.data.metadata.storyId},stateSnapshotSha256:d(O)},inputSha256:n.sha256,hostKind:"codex-cli",hostVersion:Z.hostVersion},ae=>Ac(_,{...ae},ar));if(he){const{parsePrivateExecutionDescriptor:ae}=await import("../private-execution/delivery.js"),ue=ae(f.data.metadata.privateExecution);if(ue.schemaVersion!==11||ue.binding.commandId!=="ui-ux-review"||ue.binding.format!==(o.selection.uiUxReview?.json===!0?"json":"markdown"))throw new Error("private-execution-report-binding-unverified");const{storePrivateUiUxReviewReport:G}=await import("../private-execution/private-report-store.js");te={schemaVersion:1,outcome:"report-stored",report:await G({projectRoot:s,material:rt,format:ue.binding.format,sha256:ue.materialSha256}),publicSafe:!0}}else if(Rt?.action==="checkpoint-epic-story"){const{runPrivateYoloRootCheckpoint:ae}=await import("../private-execution/root-checkpoint.js");te={...await ae(s,Rt)}}else{const ae=Ee?`${rt}
94
+ O root confirmou o checkpoint C01 no branch do \xE9pico. Reexecute o mesmo YOLO para avan\xE7ar \xE0 pr\xF3xima etapa.`,metadata:{...An.metadata,privateExecutionReceipt:te},exitCode:0}}let ae;try{ae=Be("git",["symbolic-ref","--quiet","--short","HEAD"],{cwd:s,encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()}catch{throw new Error("private-execution-execution-branch-mismatch")}if(ae!==re.executionBranch)throw new Error("private-execution-execution-branch-mismatch");const ue=dn(s,{required:!0}),W=typeof re.epicId=="string"?ue.epics[re.epicId]:void 0,L=h(W?.branch_lease)?W.branch_lease:void 0;if(!W||W.graph_revision!==re.graphRevision||!L||L.ownerStoryId!==re.storyId||typeof L.expiresAt!="string"||!Number.isFinite(Date.parse(L.expiresAt))||Date.parse(L.expiresAt)<=Date.now())throw new Error("private-execution-writer-lease-unavailable")}else if(f.data.metadata.mode==="step"&&(f.data.metadata.resolvedTrigger==="research"||f.data.metadata.resolvedTrigger==="write-spec"||f.data.metadata.resolvedTrigger==="create-tasks"||f.data.metadata.resolvedTrigger==="implement")||f.data.metadata.mode==="pipeline"&&f.data.metadata.resolvedTrigger==="exec"||de&&f.data.metadata.resolvedTrigger==="create-epic"||he||Ee||Le||ge||Qe||ut||nt||lt||ht){if(!De&&!Le&&!ge&&!Qe&&!he&&!ut&&!nt&&!lt&&!ht&&typeof f.data.metadata.storyId!="string")throw new Error("private-execution-descriptor-unavailable")}else throw new Error("private-execution-descriptor-unavailable");if(q){const{ensurePrivateYoloIsolatedSession:ae,reconcilePrivateYoloIsolatedSession:ue}=await import("../private-execution/isolated-session.js");if(Rt?.action==="checkpoint-epic-story")await ue(s,Xe,re.graphRevision);else{const W=await ae(s,Xe,re.graphRevision,e.privateExecutionWorkspaceParent),L=await m(W.workspace.workspacePath);if(L.hostVersion!==Z.hostVersion)throw new Error("private-codex-version-drift");Z=L}}if(Date.now()-Z.observedAtMs>2e4){const ae=await m(Z.projectRoot);if(ae.hostVersion!==Z.hostVersion)throw new Error("private-codex-version-drift");Z=ae}const ir=await $.client.getToken();if(!ir)throw new Error("private-execution-auth-unavailable");const Me=De?f.data.metadata.epicClaim:void 0;if(De&&(!Me||typeof Me.claimId!="string"||typeof Me.epicId!="string"))throw new Error("private-execution-descriptor-unavailable");if(De){if(!ve)throw new Error("private-execution-epic-claim-admission-unverified");p.execute({phase:"client-writeback",domain:"client-persistence",category:"pending-claim",operation:"update"},()=>Ur(s,ve.fingerprint,Me.claimId,Me.epicId,B?"root-staged-v1":void 0),()=>{}),nr=!0;const{preparePrivateYoloIsolatedWorkspace:ae,PRIVATE_EPIC_PENDING_SIDECAR:ue}=await import("../private-execution/isolated-workspace.js"),W=e.privateExecutionWorkspaceParent??z(Yt(),".local","share","neocortex","private-epic-workspaces");e.privateExecutionWorkspaceParent||Ht(W,{recursive:!0,mode:448}),_t=ae(s,W,!0),Rn=Ve("sha256").update(Ue(z(s,ue))).digest("hex");const L=await m(_t.workspacePath);if(L.hostVersion!==Z.hostVersion)throw new Error("private-codex-version-drift");Z=L}else if(!q&&!he){const{preparePrivateYoloIsolatedWorkspace:ae}=await import("../private-execution/isolated-workspace.js"),ue=e.privateExecutionWorkspaceParent??z(Yt(),".local","share","neocortex","private-step-workspaces");if(e.privateExecutionWorkspaceParent||Ht(ue,{recursive:!0,mode:448}),pe=ae(s,ue,Le||ge),Qe||ut||nt||lt||ht){if(!U)throw new Error("private-execution-project-snapshot-unverified");const{assertPrivateProjectStepBaseline:L}=await import("../private-execution/isolated-workspace.js");L(pe,U)}const W=await m(pe.workspacePath);if(W.hostVersion!==Z.hostVersion)throw new Error("private-codex-version-drift");Z=W}const rt=await c(f.data.metadata.privateExecution,{projectId:ke,commandId:q?"yolo":de?"create-epic":ut?Ie:nt?"generate-pacts":lt?"arch-ux-design":ht?"property-test":Qe?_n:f.data.metadata.mode==="pipeline"?"exec":f.data.metadata.resolvedTrigger,stepId:f.data.metadata.stepId,...q?{graphRevision:re.graphRevision}:{...De?{claimId:Me.claimId,epicId:Me.epicId,...Ee?{writeSetId:"idea-diagnosis-v1"}:{}}:Le?{claimId:le.claimId,epicId:le.epicId,diagnosisReceiptId:le.diagnosisReceiptId,intakeRevision:le.intakeRevision,physicalAcceptanceReceiptId:le.physicalAcceptanceReceiptId,writeSetId:"idea-research-v1"}:ge?{claimId:oe.claimId,epicId:oe.epicId,diagnosisReceiptId:oe.diagnosisReceiptId,researchReceiptId:oe.researchReceiptId,intakeRevision:oe.intakeRevision,physicalAcceptanceReceiptId:oe.physicalAcceptanceReceiptId,writeSetId:"generate-epic-v1"}:Qe?{writeSetId:rr}:he?{format:o.selection.uiUxReview?.json===!0?"json":"markdown"}:ut?{targetEpicId:Zt,graphRevision:en,writeSetId:wn}:nt?{targetEpicId:J.targetEpicId,graphRevision:J.graphRevision,answersSha256:J.answersSha256,specSha256:J.specSha256,pathsSha256:J.pathsSha256,endpointCount:J.endpointCount,pathCount:J.pathCount}:lt?{targetEpicId:se.targetEpicId,graphRevision:se.graphRevision,adapterId:se.adapterId,authoritySha256:se.authoritySha256,pathsSha256:se.pathsSha256,screenCount:se.screenCount,pathCount:se.pathCount}:ht?{prdPath:me.prdPath,prdSha256:me.prdSha256,planSha256:me.planSha256,pathsSha256:me.pathsSha256,aggregateCount:me.aggregateCount,invariantCount:me.invariantCount,pathCount:me.pathCount,language:me.language,numRuns:me.numRuns}:{storyId:f.data.metadata.storyId},stateSnapshotSha256:d(k)},inputSha256:n.sha256,hostKind:"codex-cli",hostVersion:Z.hostVersion},ae=>bc(_,{...ae},ir));if(he){const{parsePrivateExecutionDescriptor:ae}=await import("../private-execution/delivery.js"),ue=ae(f.data.metadata.privateExecution);if(ue.schemaVersion!==11||ue.binding.commandId!=="ui-ux-review"||ue.binding.format!==(o.selection.uiUxReview?.json===!0?"json":"markdown"))throw new Error("private-execution-report-binding-unverified");const{storePrivateUiUxReviewReport:W}=await import("../private-execution/private-report-store.js");te={schemaVersion:1,outcome:"report-stored",report:await W({projectRoot:s,material:rt,format:ue.binding.format,sha256:ue.materialSha256}),publicSafe:!0}}else if(Rt?.action==="checkpoint-epic-story"){const{runPrivateYoloRootCheckpoint:ae}=await import("../private-execution/root-checkpoint.js");te={...await ae(s,Rt)}}else{const ae=Ee?`${rt}
95
95
 
96
96
  Private P01 handoff (local only):
97
97
  The durable reserved epic ID is ${Me.epicId}. Complete only the diagnosis for this exact ID. Write exactly .neocortex/planning/epic-${Me.epicId}/idea.json, diagnosis.md, enriched-prompt.md and the matching entry in .neocortex/planning/planning.json. Do not write state.json, Git controls, another epic, or P02/P03 artifacts; do not auto-continue to the next step. The root will independently review and persist the accepted planning checkpoint.
@@ -99,11 +99,11 @@ The durable reserved epic ID is ${Me.epicId}. Complete only the diagnosis for th
99
99
 
100
100
  Private P02 handoff (local only):
101
101
  The admitted epic is ${le.epicId}. Research only this exact diagnosed epic. Write exactly .neocortex/planning/epic-${le.epicId}/research.md and its transition in .neocortex/planning/planning.json. Do not write state.json, Git controls, another epic, or P03 artifacts; do not auto-continue. The root will independently review and seal the research candidate.
102
- `:me?`${rt}
102
+ `:ge?`${rt}
103
103
 
104
104
  Private P03 handoff (local only):
105
105
  The admitted epic is ${oe.epicId}. Generate exactly docs/epics/epic-${oe.epicId}.md, 1 to 24 contiguous docs/stories/${oe.epicId}.NN.story.md files (01 through 24), and the matching transition in .neocortex/planning/planning.json. The 1 to 24 range is a safety maximum, not a required count. Derive the implementation story count from the accepted research scope; keep later epic lifecycle gates out of implementation stories. Epic frontmatter must contain its exact id and stories_count matching the files, and the document must contain the exact section heading ## Stories. Story frontmatter must use exactly one canonical epic_id field for this epic, with status backlog; do not emit the legacy epic alias. Each story needs the exact heading ## Acceptance Criteria and Given/When/Then criteria. In planning.json preserve all other entries and fields; for this epic set status generated, append only the current generation step after the two accepted predecessors, set completed_at to a non-null ISO timestamp, and add output_files.epic plus the ordered output_files.stories list. Keep a valid ISO last_scan. This is completion of the candidate index only, not root QA, memory or epic completion. Do not write state.json, Git controls, another epic, or subsequent-stage artifacts; do not auto-continue. The root will independently review and seal the generated candidate.
106
- `:ut?(await import("../private-execution/isolated-admission.js")).appendPrivateArchitectureHandoff(rt,Ie,wn,or(O.archPlan?.execution?.nonUiScopeReceipt)?"non-ui":"all"):nt?`${rt}
106
+ `:ut?(await import("../private-execution/isolated-admission.js")).appendPrivateArchitectureHandoff(rt,Ie,wn,cr(k.archPlan?.execution?.nonUiScopeReceipt)?"non-ui":"all"):nt?`${rt}
107
107
 
108
108
  Private A03.5 handoff (local only):
109
109
  ${JSON.stringify({consumer:ce.answers.consumer,provider:ce.answers.provider,matchersAggressive:ce.answers.matchersAggressive,generateProvider:ce.answers.generateProvider,brokerConfigured:ce.answers.brokerUrl!==null,allowedPaths:j.paths})}
@@ -111,18 +111,18 @@ Read docs/api/openapi.yaml. Write only the listed new test files. Do not write p
111
111
  `:lt?`${rt}
112
112
 
113
113
  Private A08 handoff (local only):
114
- ${JSON.stringify({targetEpicId:se.targetEpicId,graphRevision:se.graphRevision,adapterId:se.adapterId,approvedScreens:ke.screens,allowedPaths:ke.paths})}
114
+ ${JSON.stringify({targetEpicId:se.targetEpicId,graphRevision:se.graphRevision,adapterId:se.adapterId,approvedScreens:Oe.screens,allowedPaths:Oe.paths})}
115
115
  Write only the approved paths. Keep synthetic fixtures and the canonical approved-story manifest. No Git, graph, QA or configuration effects.
116
116
  `:ht?`${rt}
117
117
 
118
118
  Private property-test handoff (local only):
119
119
  ${JSON.stringify({language:Ke.language,numRuns:Ke.numRuns,aggregates:Ke.aggregates.map(L=>({name:L.name,implementationFile:L.implementationFile,testFile:L.testFile,invariantCount:L.invariantCount}))})}
120
120
  Read the PRD and implementation files inside this isolated clone. Write exactly the listed test files. Do not edit the PRD, state, Git, QA records or any other path. Scaffolds with unfinished assertions must fail explicitly; do not use skipped or todo tests. The root will write the confirmed PRD configuration and independently assess QA.
121
- `:rt;let ue=ae;if(q){const{readPrivateYoloFrozenWriteSet:L}=await import("../private-execution/clean-baseline.js"),{appendPrivateYoloFrozenHandoff:R}=await import("../private-execution/frozen-handoff.js"),Ae=await L(s,Xe,re.executionBranch,re.graphRevision);ue=R(ae,Ae);const{resumePrivateYoloIsolatedSession:ft}=await import("../private-execution/isolated-session.js"),je=await ft(s,Xe,re.graphRevision),Ce=gn(s,{epicAware:!0}).stories[Xe],we=O.stories[Xe];if(!Ce||!we||Ce.status!==we.status||JSON.stringify(Ce.steps_completed)!==JSON.stringify(we.steps_completed))throw new Error("private-execution-phase-snapshot-drift");const at=Ve("git",["rev-parse","HEAD"],{cwd:s,encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim();ue+=`
121
+ `:rt;let ue=ae;if(q){const{readPrivateYoloFrozenWriteSet:L}=await import("../private-execution/clean-baseline.js"),{appendPrivateYoloFrozenHandoff:R}=await import("../private-execution/frozen-handoff.js"),Ae=await L(s,Xe,re.executionBranch,re.graphRevision);ue=R(ae,Ae);const{resumePrivateYoloIsolatedSession:ft}=await import("../private-execution/isolated-session.js"),je=await ft(s,Xe,re.graphRevision),Ce=mn(s,{epicAware:!0}).stories[Xe],we=k.stories[Xe];if(!Ce||!we||Ce.status!==we.status||JSON.stringify(Ce.steps_completed)!==JSON.stringify(we.steps_completed))throw new Error("private-execution-phase-snapshot-drift");const at=Be("git",["rev-parse","HEAD"],{cwd:s,encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim();ue+=`
122
122
  Root physical dispatch observations (data, not phase completion):
123
123
  `+JSON.stringify({storyId:Xe,graphRevision:re.graphRevision,sourceHeadSha:at,privateSnapshotSha:je.snapshotSha,effectiveStatus:Ce.status,hostKind:"codex-cli",hostVersion:Z.hostVersion})+`
124
124
  Use these observed revisions and runtime facts; do not infer Git metadata or substitute an invented revision.
125
- `}const G=await b(ue,Z,{requireWorkspaceEffect:!0,...e.onPrivateExecutionWorkspaceFailure===void 0?{}:{onWorkspaceEffectFailure:e.onPrivateExecutionWorkspaceFailure},...e.privateExecutionModel===void 0?{}:{model:e.privateExecutionModel},...q?{expectedExecutionBranch:re.executionBranch}:_t?{expectedExecutionBranch:_t.executionBranch}:pe?{expectedExecutionBranch:pe.executionBranch}:{}});if(q){const{admitPrivateYoloIsolatedSessionStep:L}=await import("../private-execution/isolated-session.js"),R=await L(s,Xe,re.graphRevision);let Ae;if(f.data.metadata.stepId===Da){const je=f.data.metadata.mutationQaFeature;if(!je)throw new Error("private-execution-mutation-qa-authority-unavailable");if(!je.enabled)Ae={schemaVersion:1,status:"skipped-server-authority",publicSafe:!0};else{let Ce,we;try{const at=R.session.workspace.workspacePath,Ot=`sha:${R.session.workspace.baseSha}`,{planMutationQa:tn}=await import("./mutation-qa.js"),At=tn(at,Ot);if(At.headSha!==R.session.snapshotSha)throw new Error("private-execution-mutation-qa-snapshot-drift");let bt="not-run";if(At.outcome==="ready"){const{runAndRecordMutationQa:bn}=await import("./mutation-qa-checkpoint.js");if(bt=bn(at,Ot,At.planSha256).result.outcome,bt==="skipped-host-isolation-unavailable")throw new Error("private-execution-mutation-qa-host-isolation-unavailable")}const{classifyMutationQaGate:An}=await import("./mutation-qa-gate.js");if(Ce=An(at,Ot,At.planSha256),Ce.followUpDebtRequired){const{recordMutationQaFollowUpDebt:bn}=await import("./mutation-qa-checkpoint.js");we=bn(at,Ot,At.planSha256,Ce.status,bt,s)}const{resumePrivateYoloIsolatedSession:Ra}=await import("../private-execution/isolated-session.js");if((await Ra(s,Xe,re.graphRevision)).snapshotSha!==R.session.snapshotSha)throw new Error("private-execution-mutation-qa-snapshot-drift")}catch{throw new Error("private-execution-mutation-qa-unverified")}if(Ce.blocksLocalQa||!Ce.safeToContinueLocalQa&&!we)throw new Error(`private-execution-mutation-qa-${Ce.status}`);Ae={...Ce,...we?{followUpDebt:{status:"recorded",owner:we.owner,severity:we.severity,reasonCode:we.reasonCode,planSha256:we.planSha256,publicSafe:!0}}:{}}}}const ft={schemaVersion:1,outcome:R.admission.outcome,sequence:R.session.sequence,snapshotSha:R.session.snapshotSha,patchSha256:R.admission.patchSha256,changedPathCount:R.admission.changedPaths.length};te={...G,isolation:ft,...Ae?{mutationQa:Ae}:{}}}else if(_t){const{admitPrivateEpicClaimWorkspace:L,admitPrivateIdeaDiagnosisWorkspace:R}=await import("../private-execution/isolated-admission.js"),Ae=Ee?R(_t,Me.claimId,Me.epicId,ve.fingerprint,Rn,o.selection.positionals.join(" ").replace(/^[-:–—]\s+/,"")):L(_t,Me.claimId,Me.epicId,ve.fingerprint,Rn);te={...G,isolation:{schemaVersion:1,outcome:Ae.outcome,baseSha:Ae.baseSha,patchSha256:Ae.patchSha256,changedPathCount:Ae.changedPaths.length}}}else if(pe&&Le){const{admitPrivateIdeaResearchWorkspace:L}=await import("../private-execution/isolated-admission.js"),R=L(pe,le.claimId,le.epicId,le.diagnosisReceiptId,le.intakeRevision,le.sourceStateSha256);te={...G,isolation:{schemaVersion:1,outcome:R.outcome,baseSha:R.baseSha,patchSha256:R.patchSha256,changedPathCount:R.changedPaths.length}}}else if(pe&&me){const{admitPrivateGenerateEpicWorkspace:L}=await import("../private-execution/isolated-admission.js"),R=L(pe,oe.claimId,oe.epicId,oe.diagnosisReceiptId,oe.researchReceiptId,oe.intakeRevision,oe.sourceStateSha256);te={...G,isolation:{schemaVersion:1,outcome:R.outcome,baseSha:R.baseSha,patchSha256:R.patchSha256,changedPathCount:R.changedPaths.length}}}else if(pe&&nt){const{admitPrivatePactWorkspace:L}=await import("../private-execution/isolated-admission.js"),{inspectPactToolchain:R}=await import("../private-execution/pact-toolchain.js"),{verifyPactConsumerRuntime:Ae}=await import("../private-execution/pact-consumer-runtime.js"),ft=ce.answers.generateProvider,je=L(pe,J.targetEpicId,J.graphRevision,ce.receipt,j,rr),Ce=R(s,ft),we=Ae(s,j,ft);te={...G,isolation:{schemaVersion:1,outcome:je.outcome,baseSha:je.baseSha,patchSha256:je.patchSha256,changedPathCount:je.changedPaths.length,consumerBindingCandidateCount:je.consumerBindingCandidateCount,consumerScaffoldCount:je.consumerScaffoldCount,toolchain:Ce,consumerRuntime:we}}}else if(pe&&lt){const{admitPrivateUxWorkspace:L}=await import("../private-execution/isolated-admission.js"),R=L(pe,se.targetEpicId,se.graphRevision,ke);te={...G,isolation:{schemaVersion:1,outcome:R.outcome,baseSha:R.baseSha,patchSha256:R.patchSha256,changedPathCount:R.changedPaths.length}}}else if(pe&&ht){const{admitPrivatePropertyTestWorkspace:L}=await import("../private-execution/isolated-admission.js"),R=L(pe,Ct,Ke);te={...G,isolation:{schemaVersion:1,outcome:R.outcome,baseSha:R.baseSha,patchSha256:R.patchSha256,changedPathCount:R.changedPaths.length,checkpointAccepted:!1,qaAccepted:!1,rootNextAction:"property-semantic-review-required"}}}else if(pe&&ut){const{admitPrivateArchitectureStageWorkspace:L}=await import("../private-execution/isolated-admission.js"),R=L(pe,Ie,wn,Zt,en);te={...G,isolation:{schemaVersion:1,outcome:R.outcome,baseSha:R.baseSha,patchSha256:R.patchSha256,changedPathCount:R.changedPaths.length}}}else if(pe&&Qe){const{admitPrivateProjectStepWorkspace:L}=await import("../private-execution/isolated-admission.js"),R=L(pe,_n,nr);te={...G,isolation:{schemaVersion:1,outcome:R.outcome,baseSha:R.baseSha,patchSha256:R.patchSha256,changedPathCount:R.changedPaths.length}}}else if(pe){const{admitPrivateStateBoundStepWorkspace:L}=await import("../private-execution/isolated-admission.js"),R=L(pe,f.data.metadata.storyId);te={...G,isolation:{schemaVersion:1,outcome:R.outcome,baseSha:R.baseSha,patchSha256:R.patchSha256,changedPathCount:R.changedPaths.length}}}else te={...G}}}catch(c){const d=c instanceof Error&&/^(private-execution|private-codex)-[a-z-]+$/.test(c.message)?c.message:"private-execution-unverified";return{success:!1,error:d,errorCode:d,exitCode:1}}let Cn;if(Qt&&h(f.data.metadata.planningRootContinuation)&&f.data.metadata.planningRootContinuation.planningComplete===!0)try{if(!ye?.claimId||!ye.epicId||!Ne)throw new Error("missing-reservation");const c=lr(s,ye.claimId,ye.epicId);if(f.data.metadata.planningRootContinuation.memoryReceiptId!==c.receiptId)throw new Error("memory-receipt-conflict");const d=gn(s,{verifyPlanningGeneration:!0}),g=d.epics[ye.epicId];if(!h(g?.createEpicPlanningMemoryPhysical)||g.createEpicPlanningMemoryPhysical.receiptId!==c.receiptId)throw new Error("memory-recheck-failed");const b={config:{project_id:Ne},epics:{[ye.epicId]:g},stories:Object.fromEntries((Array.isArray(g.stories)?g.stories:[]).map(he=>[he,d.stories[he]])),epic_id_ledger:d.epic_id_ledger};if(!await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"pending-claim",operation:"update"},()=>Sa(_,$.token,{claimId:ye.claimId,projectId:Ne,epicId:ye.epicId,status:"materialized",planningCheckpoint:{memoryReceiptId:c.receiptId,snapshot:b}},{refreshToken:()=>$.client.forceRefresh()}),async()=>!1))throw new Error("acknowledgement-unavailable");Cn={schemaVersion:1,acknowledged:!0,claimId:c.claimId,epicId:c.epicId,memoryReceiptId:c.receiptId,publicSafe:!0}}catch{return{success:!1,error:"planning-root-materialization-unavailable",errorCode:"planning-root-materialization-unavailable",exitCode:1}}const Xt=un(f.data.instructions,{...f.data.metadata,...f.compatibility?{compatibility:f.compatibility}:{}}),kt=te?.isolation,_a=Xt.metadata?.resolvedTrigger==="property-test"&&kt!==null&&typeof kt=="object"&&!Array.isArray(kt)&&kt.outcome==="admitted-unverified"&&kt.checkpointAccepted===!1&&kt.rootNextAction==="property-semantic-review-required";if(ve&&!tr&&!Qt&&f.data.metadata?.mode!=="error")try{const c=f.data.metadata?.epicClaim;if(!c||typeof c!="object"||Array.isArray(c))throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");const d=c;if(d.outcome!=="reserved"||typeof d.claimId!="string"||typeof d.epicId!="string")throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");p.execute({phase:"client-writeback",domain:"client-persistence",category:"pending-claim",operation:"update"},()=>Ur(s,ve.fingerprint,d.claimId,d.epicId),()=>{})}catch{}return p.complete(pt),{success:!0,instructions:te?te.outcome==="checkpoint-validated"?`# Checkpoint da story validado
125
+ `}const W=await b(ue,Z,{requireWorkspaceEffect:!0,...e.onPrivateExecutionWorkspaceFailure===void 0?{}:{onWorkspaceEffectFailure:e.onPrivateExecutionWorkspaceFailure},...e.privateExecutionModel===void 0?{}:{model:e.privateExecutionModel},...q?{expectedExecutionBranch:re.executionBranch}:_t?{expectedExecutionBranch:_t.executionBranch}:pe?{expectedExecutionBranch:pe.executionBranch}:{}});if(q){const{admitPrivateYoloIsolatedSessionStep:L}=await import("../private-execution/isolated-session.js"),R=await L(s,Xe,re.graphRevision);let Ae;if(f.data.metadata.stepId===Da){const je=f.data.metadata.mutationQaFeature;if(!je)throw new Error("private-execution-mutation-qa-authority-unavailable");if(!je.enabled)Ae={schemaVersion:1,status:"skipped-server-authority",publicSafe:!0};else{let Ce,we;try{const at=R.session.workspace.workspacePath,Ot=`sha:${R.session.workspace.baseSha}`,{planMutationQa:tn}=await import("./mutation-qa.js"),At=tn(at,Ot);if(At.headSha!==R.session.snapshotSha)throw new Error("private-execution-mutation-qa-snapshot-drift");let bt="not-run";if(At.outcome==="ready"){const{runAndRecordMutationQa:bn}=await import("./mutation-qa-checkpoint.js");if(bt=bn(at,Ot,At.planSha256).result.outcome,bt==="skipped-host-isolation-unavailable")throw new Error("private-execution-mutation-qa-host-isolation-unavailable")}const{classifyMutationQaGate:An}=await import("./mutation-qa-gate.js");if(Ce=An(at,Ot,At.planSha256),Ce.followUpDebtRequired){const{recordMutationQaFollowUpDebt:bn}=await import("./mutation-qa-checkpoint.js");we=bn(at,Ot,At.planSha256,Ce.status,bt,s)}const{resumePrivateYoloIsolatedSession:Ra}=await import("../private-execution/isolated-session.js");if((await Ra(s,Xe,re.graphRevision)).snapshotSha!==R.session.snapshotSha)throw new Error("private-execution-mutation-qa-snapshot-drift")}catch{throw new Error("private-execution-mutation-qa-unverified")}if(Ce.blocksLocalQa||!Ce.safeToContinueLocalQa&&!we)throw new Error(`private-execution-mutation-qa-${Ce.status}`);Ae={...Ce,...we?{followUpDebt:{status:"recorded",owner:we.owner,severity:we.severity,reasonCode:we.reasonCode,planSha256:we.planSha256,publicSafe:!0}}:{}}}}const ft={schemaVersion:1,outcome:R.admission.outcome,sequence:R.session.sequence,snapshotSha:R.session.snapshotSha,patchSha256:R.admission.patchSha256,changedPathCount:R.admission.changedPaths.length};te={...W,isolation:ft,...Ae?{mutationQa:Ae}:{}}}else if(_t){const{admitPrivateEpicClaimWorkspace:L,admitPrivateIdeaDiagnosisWorkspace:R}=await import("../private-execution/isolated-admission.js"),Ae=Ee?R(_t,Me.claimId,Me.epicId,ve.fingerprint,Rn,o.selection.positionals.join(" ").replace(/^[-:–—]\s+/,"")):L(_t,Me.claimId,Me.epicId,ve.fingerprint,Rn);te={...W,isolation:{schemaVersion:1,outcome:Ae.outcome,baseSha:Ae.baseSha,patchSha256:Ae.patchSha256,changedPathCount:Ae.changedPaths.length}}}else if(pe&&Le){const{admitPrivateIdeaResearchWorkspace:L}=await import("../private-execution/isolated-admission.js"),R=L(pe,le.claimId,le.epicId,le.diagnosisReceiptId,le.intakeRevision,le.sourceStateSha256);te={...W,isolation:{schemaVersion:1,outcome:R.outcome,baseSha:R.baseSha,patchSha256:R.patchSha256,changedPathCount:R.changedPaths.length}}}else if(pe&&ge){const{admitPrivateGenerateEpicWorkspace:L}=await import("../private-execution/isolated-admission.js"),R=L(pe,oe.claimId,oe.epicId,oe.diagnosisReceiptId,oe.researchReceiptId,oe.intakeRevision,oe.sourceStateSha256);te={...W,isolation:{schemaVersion:1,outcome:R.outcome,baseSha:R.baseSha,patchSha256:R.patchSha256,changedPathCount:R.changedPaths.length}}}else if(pe&&nt){const{admitPrivatePactWorkspace:L}=await import("../private-execution/isolated-admission.js"),{inspectPactToolchain:R}=await import("../private-execution/pact-toolchain.js"),{verifyPactConsumerRuntime:Ae}=await import("../private-execution/pact-consumer-runtime.js"),ft=ce.answers.generateProvider,je=L(pe,J.targetEpicId,J.graphRevision,ce.receipt,j,ar),Ce=R(s,ft),we=Ae(s,j,ft);te={...W,isolation:{schemaVersion:1,outcome:je.outcome,baseSha:je.baseSha,patchSha256:je.patchSha256,changedPathCount:je.changedPaths.length,consumerBindingCandidateCount:je.consumerBindingCandidateCount,consumerScaffoldCount:je.consumerScaffoldCount,toolchain:Ce,consumerRuntime:we}}}else if(pe&&lt){const{admitPrivateUxWorkspace:L}=await import("../private-execution/isolated-admission.js"),R=L(pe,se.targetEpicId,se.graphRevision,Oe);te={...W,isolation:{schemaVersion:1,outcome:R.outcome,baseSha:R.baseSha,patchSha256:R.patchSha256,changedPathCount:R.changedPaths.length}}}else if(pe&&ht){const{admitPrivatePropertyTestWorkspace:L}=await import("../private-execution/isolated-admission.js"),R=L(pe,Ct,Ke);te={...W,isolation:{schemaVersion:1,outcome:R.outcome,baseSha:R.baseSha,patchSha256:R.patchSha256,changedPathCount:R.changedPaths.length,checkpointAccepted:!1,qaAccepted:!1,rootNextAction:"property-semantic-review-required"}}}else if(pe&&ut){const{admitPrivateArchitectureStageWorkspace:L}=await import("../private-execution/isolated-admission.js"),R=L(pe,Ie,wn,Zt,en);te={...W,isolation:{schemaVersion:1,outcome:R.outcome,baseSha:R.baseSha,patchSha256:R.patchSha256,changedPathCount:R.changedPaths.length}}}else if(pe&&Qe){const{admitPrivateProjectStepWorkspace:L}=await import("../private-execution/isolated-admission.js"),R=L(pe,_n,rr);te={...W,isolation:{schemaVersion:1,outcome:R.outcome,baseSha:R.baseSha,patchSha256:R.patchSha256,changedPathCount:R.changedPaths.length}}}else if(pe){const{admitPrivateStateBoundStepWorkspace:L}=await import("../private-execution/isolated-admission.js"),R=L(pe,f.data.metadata.storyId);te={...W,isolation:{schemaVersion:1,outcome:R.outcome,baseSha:R.baseSha,patchSha256:R.patchSha256,changedPathCount:R.changedPaths.length}}}else te={...W}}}catch(c){const d=c instanceof Error&&/^(private-execution|private-codex)-[a-z-]+$/.test(c.message)?c.message:"private-execution-unverified";return{success:!1,error:d,errorCode:d,exitCode:1}}let Cn;if(Qt&&h(f.data.metadata.planningRootContinuation)&&f.data.metadata.planningRootContinuation.planningComplete===!0)try{if(!ye?.claimId||!ye.epicId||!ke)throw new Error("missing-reservation");const c=lr(s,ye.claimId,ye.epicId);if(f.data.metadata.planningRootContinuation.memoryReceiptId!==c.receiptId)throw new Error("memory-receipt-conflict");const d=mn(s,{verifyPlanningGeneration:!0}),m=d.epics[ye.epicId];if(!h(m?.createEpicPlanningMemoryPhysical)||m.createEpicPlanningMemoryPhysical.receiptId!==c.receiptId)throw new Error("memory-recheck-failed");const b={config:{project_id:ke},epics:{[ye.epicId]:m},stories:Object.fromEntries((Array.isArray(m.stories)?m.stories:[]).map(he=>[he,d.stories[he]])),epic_id_ledger:d.epic_id_ledger};if(!await p.executeAsync({phase:"client-writeback",domain:"client-persistence",category:"pending-claim",operation:"update"},()=>Sa(_,$.token,{claimId:ye.claimId,projectId:ke,epicId:ye.epicId,status:"materialized",planningCheckpoint:{memoryReceiptId:c.receiptId,snapshot:b}},{refreshToken:()=>$.client.forceRefresh()}),async()=>!1))throw new Error("acknowledgement-unavailable");Cn={schemaVersion:1,acknowledged:!0,claimId:c.claimId,epicId:c.epicId,memoryReceiptId:c.receiptId,publicSafe:!0}}catch{return{success:!1,error:"planning-root-materialization-unavailable",errorCode:"planning-root-materialization-unavailable",exitCode:1}}const Xt=un(f.data.instructions,{...f.data.metadata,...f.compatibility?{compatibility:f.compatibility}:{}}),kt=te?.isolation,_a=Xt.metadata?.resolvedTrigger==="property-test"&&kt!==null&&typeof kt=="object"&&!Array.isArray(kt)&&kt.outcome==="admitted-unverified"&&kt.checkpointAccepted===!1&&kt.rootNextAction==="property-semantic-review-required";if(ve&&!nr&&!Qt&&f.data.metadata?.mode!=="error")try{const c=f.data.metadata?.epicClaim;if(!c||typeof c!="object"||Array.isArray(c))throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");const d=c;if(d.outcome!=="reserved"||typeof d.claimId!="string"||typeof d.epicId!="string")throw new Error("EPIC_CLAIM_INTEGRITY_FAILURE");p.execute({phase:"client-writeback",domain:"client-persistence",category:"pending-claim",operation:"update"},()=>Ur(s,ve.fingerprint,d.claimId,d.epicId),()=>{})}catch{}return p.complete(pt),{success:!0,instructions:te?te.outcome==="checkpoint-validated"?`# Checkpoint da story validado
126
126
 
127
127
  O root registrou o commit e a valida\xE7\xE3o f\xEDsica no branch do epic.`:te.outcome==="setup-accepted"?`# Setup do branch validado
128
128
 
@@ -130,7 +130,7 @@ O root confirmou o checkpoint C01 no branch do \xE9pico. Reexecute o mesmo YOLO
130
130
 
131
131
  Consulte o caminho local em metadata.privateExecutionReceipt.report.path. Nenhum agente foi executado ou projeto alterado.`:_a?"# Property-test: candidato admitido, QA pendente\n\nO root deve inspecionar os arquivos locais, executar `neocortex-client property-qa review-plan --project-root . --format json` e comparar cada invariante do PRD com a implementa\xE7\xE3o e sua asser\xE7\xE3o. Somente uma revis\xE3o root independente, registrada fora do projeto e enviada por stdin a `property-qa review-accept --authorize-review`, pode autorizar o aceite; esse comando repete a execu\xE7\xE3o positiva e a falha causal no sandbox. Consulte `property-qa review-status` para revalidar o recibo. Se o toolchain ou a evid\xEAncia n\xE3o forem suportados, pare sem declarar QA aprovado. O agente privado n\xE3o recebe autoridade de revis\xE3o, Git ou checkpoint.":`# Execu\xE7\xE3o privada conclu\xEDda; valida\xE7\xE3o f\xEDsica pendente
132
132
 
133
- O executor Codex retornou sem erro. Nenhum checkpoint ou aprova\xE7\xE3o da story foi emitido.`:Xt.instructions,metadata:te?{...Xt.metadata,privateExecutionReceipt:te}:{...Xt.metadata,...Cn?{planningMaterialization:Cn}:{}},exitCode:0}}function kc(e){const[t]=e.trim().split(/\s+/,1);return t?/^@?epic-[a-z0-9][a-z0-9._-]*$/i.test(t)?"epic":on(t):null}const va="Provide exactly one invoke input source: --args <string>, --stdin, or --args-file <path>.",Oc=`
133
+ O executor Codex retornou sem erro. Nenhum checkpoint ou aprova\xE7\xE3o da story foi emitido.`:Xt.instructions,metadata:te?{...Xt.metadata,privateExecutionReceipt:te}:{...Xt.metadata,...Cn?{planningMaterialization:Cn}:{}},exitCode:0}}function Oc(e){const[t]=e.trim().split(/\s+/,1);return t?/^@?epic-[a-z0-9][a-z0-9._-]*$/i.test(t)?"epic":on(t):null}const va="Provide exactly one invoke input source: --args <string>, --stdin, or --args-file <path>.",Nc=`
134
134
  neocortex-client invoke - Send orchestration request to server
135
135
 
136
136
  Usage:
@@ -201,12 +201,12 @@ Safety:
201
201
  Jobs console is Plane B/local-only: no hosted server call for raw output, no server-held stream, no raw persistence, and stdin requires explicit local confirmation.
202
202
  Jobs, goal and loop watch use serverHeldStream=false and foreground local SQLite polling of public processing summaries only.
203
203
  Unresolved targets disable polling with public reason codes; there is no all-jobs fallback.
204
- `.trim();function Nc(e){return e.includes("--help")||e.includes("-h")||e.includes("help")}function Te(e,t,r,a){return new ln("INVOCATION_MALFORMED_INPUT",t,e,r,a)}function Pt(e){return Te("missing-input-value",`${e} requires a value. ${va}`)}function Lc(e){try{if(!Pa(e).isFile())throw Te("missing-input-value","--args-file must point to a readable UTF-8 text file.","args-file");return Be(e)}catch(t){throw t instanceof ln?t:Te("missing-input-value","--args-file could not be read as UTF-8 text. Check the path and permissions.","args-file")}}function Dc(){try{if(process.stdin.isTTY)throw Te("missing-input-value","--stdin requires piped UTF-8 text, for example: neocortex-client invoke --stdin < synthetic.story.md","stdin");return Be(0)}catch(e){throw e instanceof ln?e:Te("missing-input-value","--stdin could not be read as UTF-8 text. Pipe command text into stdin and retry.","stdin")}}function Mc(e,t={}){let r,a=!1,i,n,o="plain",s=!1,u,m,I=!1,w=!1,l;for(let T=0;T<e.length;T++){const P=e[T];switch(P){case"--args":{const S=e[++T];if(S===void 0)throw Pt("--args");if(r!==void 0)throw Te("multiple-input-sources","Provide --args only once. Use one explicit invoke input source.","args");r=S;break}case"--stdin":if(a)throw Te("multiple-input-sources","Provide --stdin only once. Use one explicit invoke input source.","stdin");a=!0;break;case"--args-file":{const S=e[++T];if(S===void 0)throw Pt("--args-file");if(i!==void 0)throw Te("multiple-input-sources","Provide --args-file only once. Use one explicit invoke input source.","args-file");i=S;break}case"--project-root":{const S=e[++T];if(S===void 0)throw Pt("--project-root");n=S;break}case"--format":{const S=e[++T];if(S===void 0)throw Pt("--format");if(S!=="json"&&S!=="plain")throw Te("unexpected-cli-token","--format accepts only json or plain.");o=S;break}case"--watch":s=!0;break;case"--server-url":{const S=e[++T];if(S===void 0)throw Pt("--server-url");u=S;break}case"--platform-target":{const S=e[++T];if(S===void 0)throw Pt("--platform-target");m=S;break}case"--strict-read-only":I=!0;break;case"--private-execution-beta":w=!0;break;case"--private-execution-model":{const S=e[++T];if(S===void 0)throw Pt("--private-execution-model");if(l!==void 0||!/^gpt-[a-z0-9][a-z0-9.-]{0,63}$/.test(S))throw Te("unexpected-cli-token","Invalid or duplicate private execution model.");l=S;break}default:if(r!==void 0&&P&&(!P.startsWith("-")||P==="-")){r+=` ${P}`;break}throw Te("unexpected-cli-token","Unexpected top-level CLI token. Quote the complete --args payload or use --stdin/--args-file for multiline content.")}}if(l!==void 0&&(!w||I))throw Te("unexpected-cli-token","A private execution model requires private beta without strict read-only.");const v=[r!==void 0?"args":void 0,a?"stdin":void 0,i!==void 0?"args-file":void 0].filter(T=>T!==void 0);if(v.length===0)throw Te("missing-input-value",va);if(v.length>1)throw Te("multiple-input-sources",`Choose only one invoke input source; received ${v.join(", ")}.`);const y=v[0],p=y==="args"?r:y==="stdin"?(t.readStdin??Dc)():(t.readArgsFile??Lc)(i);let C;try{C=cn(y,p)}catch(T){throw T instanceof vi?Te("invalid-utf8",T.message,y):T}const k=y==="args"?fc(C.rawArgs):xe(C.rawArgs),V=k.args===C.rawArgs?C:cn(y,k.args);return{args:k.args,inputSource:y,inputEnvelope:V,projectRoot:n,format:o,watch:s||k.watch,commandLevelWatch:k.metadata,serverUrl:u,platformTarget:m,strictReadOnly:I,privateExecutionBeta:w,...l===void 0?{}:{privateExecutionModel:l}}}function Ca(e,t){return t?.active?{...e??{},commandLevelWatch:t,serverHeldStream:!1}:e}function wa(e,t,r=process.stdout,a=process.stderr){if(t.format==="json"){const o=un(e.instructions,e.metadata),s=Ca(o.metadata,t.commandLevelWatch);if(t.watch){r.write(JSON.stringify({type:"invoke_result",instructions:o.instructions,metadata:s,publicSafe:!0})+`
204
+ `.trim();function Lc(e){return e.includes("--help")||e.includes("-h")||e.includes("help")}function Te(e,t,r,a){return new ln("INVOCATION_MALFORMED_INPUT",t,e,r,a)}function Pt(e){return Te("missing-input-value",`${e} requires a value. ${va}`)}function Dc(e){try{if(!Pa(e).isFile())throw Te("missing-input-value","--args-file must point to a readable UTF-8 text file.","args-file");return Ue(e)}catch(t){throw t instanceof ln?t:Te("missing-input-value","--args-file could not be read as UTF-8 text. Check the path and permissions.","args-file")}}function Mc(){try{if(process.stdin.isTTY)throw Te("missing-input-value","--stdin requires piped UTF-8 text, for example: neocortex-client invoke --stdin < synthetic.story.md","stdin");return Ue(0)}catch(e){throw e instanceof ln?e:Te("missing-input-value","--stdin could not be read as UTF-8 text. Pipe command text into stdin and retry.","stdin")}}function jc(e,t={}){let r,a=!1,i,n,o="plain",s=!1,u,g,y=!1,w=!1,l;for(let T=0;T<e.length;T++){const P=e[T];switch(P){case"--args":{const S=e[++T];if(S===void 0)throw Pt("--args");if(r!==void 0)throw Te("multiple-input-sources","Provide --args only once. Use one explicit invoke input source.","args");r=S;break}case"--stdin":if(a)throw Te("multiple-input-sources","Provide --stdin only once. Use one explicit invoke input source.","stdin");a=!0;break;case"--args-file":{const S=e[++T];if(S===void 0)throw Pt("--args-file");if(i!==void 0)throw Te("multiple-input-sources","Provide --args-file only once. Use one explicit invoke input source.","args-file");i=S;break}case"--project-root":{const S=e[++T];if(S===void 0)throw Pt("--project-root");n=S;break}case"--format":{const S=e[++T];if(S===void 0)throw Pt("--format");if(S!=="json"&&S!=="plain")throw Te("unexpected-cli-token","--format accepts only json or plain.");o=S;break}case"--watch":s=!0;break;case"--server-url":{const S=e[++T];if(S===void 0)throw Pt("--server-url");u=S;break}case"--platform-target":{const S=e[++T];if(S===void 0)throw Pt("--platform-target");g=S;break}case"--strict-read-only":y=!0;break;case"--private-execution-beta":w=!0;break;case"--private-execution-model":{const S=e[++T];if(S===void 0)throw Pt("--private-execution-model");if(l!==void 0||!/^gpt-[a-z0-9][a-z0-9.-]{0,63}$/.test(S))throw Te("unexpected-cli-token","Invalid or duplicate private execution model.");l=S;break}default:if(r!==void 0&&P&&(!P.startsWith("-")||P==="-")){r+=` ${P}`;break}throw Te("unexpected-cli-token","Unexpected top-level CLI token. Quote the complete --args payload or use --stdin/--args-file for multiline content.")}}if(l!==void 0&&(!w||y))throw Te("unexpected-cli-token","A private execution model requires private beta without strict read-only.");const v=[r!==void 0?"args":void 0,a?"stdin":void 0,i!==void 0?"args-file":void 0].filter(T=>T!==void 0);if(v.length===0)throw Te("missing-input-value",va);if(v.length>1)throw Te("multiple-input-sources",`Choose only one invoke input source; received ${v.join(", ")}.`);const E=v[0],p=E==="args"?r:E==="stdin"?(t.readStdin??Mc)():(t.readArgsFile??Dc)(i);let C;try{C=cn(E,p)}catch(T){throw T instanceof vi?Te("invalid-utf8",T.message,E):T}const O=E==="args"?gc(C.rawArgs):xe(C.rawArgs),V=O.args===C.rawArgs?C:cn(E,O.args);return{args:O.args,inputSource:E,inputEnvelope:V,projectRoot:n,format:o,watch:s||O.watch,commandLevelWatch:O.metadata,serverUrl:u,platformTarget:g,strictReadOnly:y,privateExecutionBeta:w,...l===void 0?{}:{privateExecutionModel:l}}}function Ca(e,t){return t?.active?{...e??{},commandLevelWatch:t,serverHeldStream:!1}:e}function wa(e,t,r=process.stdout,a=process.stderr){if(t.format==="json"){const o=un(e.instructions,e.metadata),s=Ca(o.metadata,t.commandLevelWatch);if(t.watch){r.write(JSON.stringify({type:"invoke_result",instructions:o.instructions,metadata:s,publicSafe:!0})+`
205
205
  `);return}r.write(JSON.stringify({instructions:o.instructions,metadata:s})+`
206
206
  `);return}const i=un(e.instructions,e.metadata),n=Ca(i.metadata,t.commandLevelWatch);r.write(i.instructions+`
207
207
  `),n&&a.write(JSON.stringify(n)+`
208
- `)}async function Gs(e=process.stdout,t=process.stderr){const r=i=>new Promise(n=>{let o=!1;const s=I=>{o||(o=!0,clearTimeout(m),setImmediate(()=>i.removeListener("error",u)),n(I))},u=()=>s(!1),m=setTimeout(()=>s(!1),1e4);i.once("error",u);try{i.write("",I=>s(!I))}catch{s(!1)}});return(await Promise.all([r(e),r(t)])).every(Boolean)}function jc(e){const t=()=>e.abort();return process.once("SIGINT",t),process.once("SIGTERM",t),()=>{process.removeListener("SIGINT",t),process.removeListener("SIGTERM",t)}}async function Ws(e){if(Nc(e))return process.stdout.write(`${Oc}
209
- `),0;let t;try{t=Mc(e)}catch(a){if(a instanceof ln)return process.stderr.write(JSON.stringify({error_code:a.code,reason:a.reason,source:a.source,byte_length:a.byteLength,message:a.message,remediation:a.message})+`
208
+ `)}async function Ws(e=process.stdout,t=process.stderr){const r=i=>new Promise(n=>{let o=!1;const s=y=>{o||(o=!0,clearTimeout(g),setImmediate(()=>i.removeListener("error",u)),n(y))},u=()=>s(!1),g=setTimeout(()=>s(!1),1e4);i.once("error",u);try{i.write("",y=>s(!y))}catch{s(!1)}});return(await Promise.all([r(e),r(t)])).every(Boolean)}function Vc(e){const t=()=>e.abort();return process.once("SIGINT",t),process.once("SIGTERM",t),()=>{process.removeListener("SIGINT",t),process.removeListener("SIGTERM",t)}}async function Hs(e){if(Lc(e))return process.stdout.write(`${Nc}
209
+ `),0;let t;try{t=jc(e)}catch(a){if(a instanceof ln)return process.stderr.write(JSON.stringify({error_code:a.code,reason:a.reason,source:a.source,byte_length:a.byteLength,message:a.message,remediation:a.message})+`
210
210
  `),1;throw a}if(ri(t.args))return t.strictReadOnly?(process.stderr.write(JSON.stringify({error_code:"readonly-registry-denied",message:"Strict read-only policy is not eligible for the local jobs console."})+`
211
- `),1):(await ai({args:t.args,projectRoot:Mn(t.projectRoot),format:t.format,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})).exitCode;const r=await Pc({args:t.args,inputSource:t.inputSource,inputEnvelope:t.inputEnvelope,watch:t.watch,projectRoot:t.projectRoot,format:t.format,serverUrl:t.serverUrl,platformTarget:t.platformTarget,strictReadOnly:t.strictReadOnly,privateExecutionBeta:t.privateExecutionBeta,...t.privateExecutionModel===void 0?{}:{privateExecutionModel:t.privateExecutionModel}});if(!r.success&&r.errorCode==="YOLOOP_RELEASE_BLOCKED"&&r.instructions&&r.metadata)return wa(r,t),r.exitCode;if(!r.success){const a=r.metadata?.invocationInput,i=a&&typeof a=="object"&&!Array.isArray(a)?a:void 0;return process.stderr.write(JSON.stringify({error_code:r.errorCode??(r.exitCode===2?"NOT_CONFIGURED":"INVOKE_ERROR"),message:Je(r.error??"",Tt),...typeof i?.reason=="string"?{reason:Je(i.reason,80)}:{},...typeof i?.source=="string"?{source:Je(i.source,20)}:{},...Number.isSafeInteger(i?.byteLength)?{byte_length:i.byteLength}:{},...typeof i?.remediation=="string"?{remediation:Je(i.remediation,Tt)}:{}})+`
212
- `),r.exitCode}if(wa(r,t),t.watch){const a=new AbortController,i=jc(a);try{const n=Rc(r.metadata,t.args);n.disabled?nc(n.reasonCodes??[Se.TARGET_UNRESOLVED],t.args,t.format,process.stdout,t.privateExecutionBeta):await rc({projectRoot:Mn(t.projectRoot),format:t.format,strictReadOnly:t.strictReadOnly,protectedOutput:t.privateExecutionBeta,...n,signal:a.signal})}finally{i()}}return 0}export{Oc as INVOKE_HELP_TEXT,Dr as INVOKE_PAYLOAD_LIMIT_BYTES,Ln as INVOKE_PAYLOAD_WARNING_THRESHOLD_BYTES,ln as InvokeCliInputError,Bn as InvokePayloadTooLargeError,Un as InvokeStructuralContextTooLargeError,it as StateSnapshotIntegrityError,Us as __resetSchemaDriftWarnedForTests,xc as acknowledgeMaterializedPendingEpicClaims,to as admitClientInvocation,Wn as assertEpicAwareStateShapeBeforeRepair,bo as boundedP222PremergeCheckpointPositions,Vn as buildInvokeCompatibilityOffer,Do as buildSignedInvokeAttempt,Xi as clearPendingEpicIdempotencyKey,xo as collectInvokeP205Authorities,gn as collectStateSnapshot,Bt as computeInvokeRequestBodySizeBytes,$s as createFullStateSnapshotScope,Yn as createInvokePayloadTelemetry,uo as detectStateSchemaDrift,kc as extractPreFlightTrigger,Gs as flushInvokeCliOutput,Qi as getOrCreatePendingEpicIdempotencyKey,sa as guardInvokeRequestBodySize,Pc as invoke,Ws as invokeCliHandler,Xr as isEpicAwareCommandId,Ho as maybeEmitInvokePayloadSizeWarning,Fo as maybeRunInvokeRunnerAutoBootstrap,Mc as parseInvokeCliOptions,oa as postMaterializationJson,eo as projectReleaseBlockedInvokeResult,Ur as recordPendingEpicReservation,fc as resolveInvokeCommandLevelWatch,Mn as resolveInvokeProjectRoot,Oo as resolveInvokeTransportErrorCode,Rc as resolveInvokeWatchTarget,un as sanitizeInvokeCliOutput,Sa as sendEpicClaimAcknowledgement,Ia as sendInvokeRequest,bc as sendPrivateExecutionCancelRequest,Ac as sendPrivateExecutionConsumeRequest,oo as shouldCollectProjectEvidenceForInvoke,rc as watchContinuityProcessingSummaries,wa as writeInvokeCliSuccessOutput};
211
+ `),1):(await ai({args:t.args,projectRoot:jn(t.projectRoot),format:t.format,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})).exitCode;const r=await kc({args:t.args,inputSource:t.inputSource,inputEnvelope:t.inputEnvelope,watch:t.watch,projectRoot:t.projectRoot,format:t.format,serverUrl:t.serverUrl,platformTarget:t.platformTarget,strictReadOnly:t.strictReadOnly,privateExecutionBeta:t.privateExecutionBeta,...t.privateExecutionModel===void 0?{}:{privateExecutionModel:t.privateExecutionModel}});if(!r.success&&r.errorCode==="YOLOOP_RELEASE_BLOCKED"&&r.instructions&&r.metadata)return wa(r,t),r.exitCode;if(!r.success){const a=r.metadata?.invocationInput,i=a&&typeof a=="object"&&!Array.isArray(a)?a:void 0;return process.stderr.write(JSON.stringify({error_code:r.errorCode??(r.exitCode===2?"NOT_CONFIGURED":"INVOKE_ERROR"),message:Je(r.error??"",Tt),...typeof i?.reason=="string"?{reason:Je(i.reason,80)}:{},...typeof i?.source=="string"?{source:Je(i.source,20)}:{},...Number.isSafeInteger(i?.byteLength)?{byte_length:i.byteLength}:{},...typeof i?.remediation=="string"?{remediation:Je(i.remediation,Tt)}:{}})+`
212
+ `),r.exitCode}if(wa(r,t),t.watch){const a=new AbortController,i=Vc(a);try{const n=Ac(r.metadata,t.args);n.disabled?rc(n.reasonCodes??[Se.TARGET_UNRESOLVED],t.args,t.format,process.stdout,t.privateExecutionBeta):await ac({projectRoot:jn(t.projectRoot),format:t.format,strictReadOnly:t.strictReadOnly,protectedOutput:t.privateExecutionBeta,...n,signal:a.signal})}finally{i()}}return 0}export{Nc as INVOKE_HELP_TEXT,Dr as INVOKE_PAYLOAD_LIMIT_BYTES,Dn as INVOKE_PAYLOAD_WARNING_THRESHOLD_BYTES,ln as InvokeCliInputError,Un as InvokePayloadTooLargeError,$n as InvokeStructuralContextTooLargeError,it as StateSnapshotIntegrityError,$s as __resetSchemaDriftWarnedForTests,Tc as acknowledgeMaterializedPendingEpicClaims,no as admitClientInvocation,Hn as assertEpicAwareStateShapeBeforeRepair,xo as boundedP222PremergeCheckpointPositions,Bn as buildInvokeCompatibilityOffer,Mo as buildSignedInvokeAttempt,Xi as clearPendingEpicIdempotencyKey,To as collectInvokeP205Authorities,mn as collectStateSnapshot,Bt as computeInvokeRequestBodySizeBytes,Gs as createFullStateSnapshotScope,Jn as createInvokePayloadTelemetry,Zi as deriveYoloLogicalIdempotencyKey,lo as detectStateSchemaDrift,Oc as extractPreFlightTrigger,Ws as flushInvokeCliOutput,Qi as getOrCreatePendingEpicIdempotencyKey,sa as guardInvokeRequestBodySize,kc as invoke,Hs as invokeCliHandler,Xr as isEpicAwareCommandId,Fo as maybeEmitInvokePayloadSizeWarning,qo as maybeRunInvokeRunnerAutoBootstrap,jc as parseInvokeCliOptions,oa as postMaterializationJson,to as projectReleaseBlockedInvokeResult,Ur as recordPendingEpicReservation,gc as resolveInvokeCommandLevelWatch,jn as resolveInvokeProjectRoot,No as resolveInvokeTransportErrorCode,Ac as resolveInvokeWatchTarget,un as sanitizeInvokeCliOutput,Sa as sendEpicClaimAcknowledgement,Ia as sendInvokeRequest,xc as sendPrivateExecutionCancelRequest,bc as sendPrivateExecutionConsumeRequest,co as shouldCollectProjectEvidenceForInvoke,ac as watchContinuityProcessingSummaries,wa as writeInvokeCliSuccessOutput};