mirror-mind 0.0.1 → 0.32.1
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.
- package/.claude/hooks/log-session-end.sh +85 -0
- package/.claude/hooks/log-user-prompt.sh +85 -0
- package/.claude/hooks/mirror-inject.sh +85 -0
- package/.claude/hooks/session-start.sh +85 -0
- package/.gemini/hooks/log-assistant.sh +85 -0
- package/.gemini/hooks/log-user.sh +85 -0
- package/.gemini/hooks/session-end.sh +85 -0
- package/.gemini/hooks/session-start.sh +85 -0
- package/.pi/extensions/mirror-logger.ts +561 -0
- package/.pi/skills/mm-backup/SKILL.md +21 -0
- package/.pi/skills/mm-build/SKILL.md +1206 -0
- package/.pi/skills/mm-consolidate/SKILL.md +112 -0
- package/.pi/skills/mm-consult/SKILL.md +70 -0
- package/.pi/skills/mm-conversations/SKILL.md +16 -0
- package/.pi/skills/mm-discard/SKILL.md +39 -0
- package/.pi/skills/mm-explore/SKILL.md +255 -0
- package/.pi/skills/mm-help/SKILL.md +74 -0
- package/.pi/skills/mm-identity/SKILL.md +96 -0
- package/.pi/skills/mm-journal/SKILL.md +16 -0
- package/.pi/skills/mm-journey/SKILL.md +23 -0
- package/.pi/skills/mm-journeys/SKILL.md +15 -0
- package/.pi/skills/mm-memories/SKILL.md +17 -0
- package/.pi/skills/mm-mirror/SKILL.md +98 -0
- package/.pi/skills/mm-mute/SKILL.md +18 -0
- package/.pi/skills/mm-new/SKILL.md +18 -0
- package/.pi/skills/mm-recall/SKILL.md +17 -0
- package/.pi/skills/mm-release-notes/SKILL.md +52 -0
- package/.pi/skills/mm-seed/SKILL.md +19 -0
- package/.pi/skills/mm-shadow/SKILL.md +117 -0
- package/.pi/skills/mm-soul/SKILL.md +502 -0
- package/.pi/skills/mm-tasks/SKILL.md +24 -0
- package/.pi/skills/mm-update/SKILL.md +32 -0
- package/.pi/skills/mm-week/SKILL.md +28 -0
- package/.pi/skills/mm-welcome/SKILL.md +24 -0
- package/AGENTS.md +188 -0
- package/README.md +126 -9
- package/bin/loader.js +67 -0
- package/bin/mirror-hook.js +7 -0
- package/bin/mirror.js +7 -0
- package/docs/releases/index.md +99 -0
- package/docs/releases/pending-cutoffs.md +510 -0
- package/docs/releases/v0.10.0.md +123 -0
- package/docs/releases/v0.10.1.md +66 -0
- package/docs/releases/v0.10.10.md +51 -0
- package/docs/releases/v0.10.11.md +39 -0
- package/docs/releases/v0.10.12.md +57 -0
- package/docs/releases/v0.10.13.md +35 -0
- package/docs/releases/v0.10.14.md +42 -0
- package/docs/releases/v0.10.15.md +53 -0
- package/docs/releases/v0.10.16.md +35 -0
- package/docs/releases/v0.10.17.md +43 -0
- package/docs/releases/v0.10.2.md +64 -0
- package/docs/releases/v0.10.3.md +78 -0
- package/docs/releases/v0.10.4.md +42 -0
- package/docs/releases/v0.10.5.md +57 -0
- package/docs/releases/v0.10.6.md +47 -0
- package/docs/releases/v0.10.7.md +53 -0
- package/docs/releases/v0.10.8.md +49 -0
- package/docs/releases/v0.10.9.md +37 -0
- package/docs/releases/v0.11.0.md +86 -0
- package/docs/releases/v0.12.0.md +67 -0
- package/docs/releases/v0.13.0.md +64 -0
- package/docs/releases/v0.14.0.md +68 -0
- package/docs/releases/v0.15.0.md +48 -0
- package/docs/releases/v0.16.0.md +50 -0
- package/docs/releases/v0.16.1.md +55 -0
- package/docs/releases/v0.16.2.md +36 -0
- package/docs/releases/v0.17.0.md +50 -0
- package/docs/releases/v0.17.1.md +58 -0
- package/docs/releases/v0.17.2.md +42 -0
- package/docs/releases/v0.17.3.md +58 -0
- package/docs/releases/v0.18.0.md +84 -0
- package/docs/releases/v0.18.1.md +51 -0
- package/docs/releases/v0.18.2.md +69 -0
- package/docs/releases/v0.19.0.md +85 -0
- package/docs/releases/v0.19.1.md +46 -0
- package/docs/releases/v0.20.0.md +85 -0
- package/docs/releases/v0.21.0.md +61 -0
- package/docs/releases/v0.21.1.md +47 -0
- package/docs/releases/v0.22.0.md +77 -0
- package/docs/releases/v0.22.1.md +42 -0
- package/docs/releases/v0.23.0.md +105 -0
- package/docs/releases/v0.24.0.md +125 -0
- package/docs/releases/v0.25.0.md +107 -0
- package/docs/releases/v0.26.0.md +139 -0
- package/docs/releases/v0.26.1.md +65 -0
- package/docs/releases/v0.26.2.md +43 -0
- package/docs/releases/v0.27.0.md +63 -0
- package/docs/releases/v0.28.0.md +59 -0
- package/docs/releases/v0.29.0.md +61 -0
- package/docs/releases/v0.29.1.md +59 -0
- package/docs/releases/v0.29.2.md +59 -0
- package/docs/releases/v0.29.3.md +93 -0
- package/docs/releases/v0.30.0.md +75 -0
- package/docs/releases/v0.30.1.md +93 -0
- package/docs/releases/v0.30.2.md +66 -0
- package/docs/releases/v0.31.0.md +122 -0
- package/docs/releases/v0.31.1.md +142 -0
- package/docs/releases/v0.31.10.md +118 -0
- package/docs/releases/v0.31.11.md +88 -0
- package/docs/releases/v0.31.12.md +105 -0
- package/docs/releases/v0.31.13.md +99 -0
- package/docs/releases/v0.31.14.md +97 -0
- package/docs/releases/v0.31.2.md +115 -0
- package/docs/releases/v0.31.3.md +142 -0
- package/docs/releases/v0.31.4.md +117 -0
- package/docs/releases/v0.31.5.md +155 -0
- package/docs/releases/v0.31.6.md +132 -0
- package/docs/releases/v0.31.7.md +132 -0
- package/docs/releases/v0.31.8.md +120 -0
- package/docs/releases/v0.31.9.md +120 -0
- package/docs/releases/v0.32.0.md +261 -0
- package/docs/releases/v0.32.1.md +59 -0
- package/docs/releases/v0.8.0.md +118 -0
- package/docs/releases/v0.9.0.md +98 -0
- package/docs/releases/v0.9.1.md +83 -0
- package/package.json +102 -6
- package/plugins/mirror-mind/.claude-plugin/plugin.json +13 -0
- package/plugins/mirror-mind/hooks/hooks.json +50 -0
- package/plugins/mirror-mind/hooks/log-session-end.sh +98 -0
- package/plugins/mirror-mind/hooks/log-user-prompt.sh +98 -0
- package/plugins/mirror-mind/hooks/mirror-inject.sh +98 -0
- package/plugins/mirror-mind/hooks/session-start.sh +98 -0
- package/plugins/mirror-mind/mcp/launch.sh +52 -0
- package/plugins/mirror-mind/skills/mm-backup/SKILL.md +27 -0
- package/plugins/mirror-mind/skills/mm-build/SKILL.md +1206 -0
- package/plugins/mirror-mind/skills/mm-consolidate/SKILL.md +112 -0
- package/plugins/mirror-mind/skills/mm-consult/SKILL.md +83 -0
- package/plugins/mirror-mind/skills/mm-conversations/SKILL.md +17 -0
- package/plugins/mirror-mind/skills/mm-discard/SKILL.md +40 -0
- package/plugins/mirror-mind/skills/mm-explore/SKILL.md +241 -0
- package/plugins/mirror-mind/skills/mm-help/SKILL.md +104 -0
- package/plugins/mirror-mind/skills/mm-identity/SKILL.md +96 -0
- package/plugins/mirror-mind/skills/mm-journal/SKILL.md +21 -0
- package/plugins/mirror-mind/skills/mm-journey/SKILL.md +37 -0
- package/plugins/mirror-mind/skills/mm-journeys/SKILL.md +15 -0
- package/plugins/mirror-mind/skills/mm-memories/SKILL.md +20 -0
- package/plugins/mirror-mind/skills/mm-mirror/SKILL.md +65 -0
- package/plugins/mirror-mind/skills/mm-mute/SKILL.md +18 -0
- package/plugins/mirror-mind/skills/mm-new/SKILL.md +18 -0
- package/plugins/mirror-mind/skills/mm-recall/SKILL.md +17 -0
- package/plugins/mirror-mind/skills/mm-release-notes/SKILL.md +31 -0
- package/plugins/mirror-mind/skills/mm-seed/SKILL.md +15 -0
- package/plugins/mirror-mind/skills/mm-shadow/SKILL.md +117 -0
- package/plugins/mirror-mind/skills/mm-soul/SKILL.md +488 -0
- package/plugins/mirror-mind/skills/mm-tasks/SKILL.md +36 -0
- package/plugins/mirror-mind/skills/mm-update/SKILL.md +30 -0
- package/plugins/mirror-mind/skills/mm-week/SKILL.md +46 -0
- package/plugins/mirror-mind/skills/mm-welcome/SKILL.md +22 -0
- package/scripts/codex-hooks/session-end.sh +85 -0
- package/scripts/codex-hooks/session-start.sh +85 -0
- package/scripts/codex-mirror.sh +48 -0
- package/templates/identity/README.md +119 -0
- package/templates/identity/ego/behavior.yaml +52 -0
- package/templates/identity/ego/constraints.yaml +15 -0
- package/templates/identity/ego/identity.yaml +43 -0
- package/templates/identity/journeys/personal-growth.yaml +39 -0
- package/templates/identity/organization/identity.yaml +24 -0
- package/templates/identity/organization/principles.yaml +17 -0
- package/templates/identity/personas/coach.yaml +94 -0
- package/templates/identity/personas/designer.yaml +93 -0
- package/templates/identity/personas/doctor.yaml +96 -0
- package/templates/identity/personas/engineer.yaml +77 -0
- package/templates/identity/personas/financial.yaml +97 -0
- package/templates/identity/personas/prompt-engineer.yaml +122 -0
- package/templates/identity/personas/researcher.yaml +88 -0
- package/templates/identity/personas/strategist.yaml +91 -0
- package/templates/identity/personas/teacher.yaml +95 -0
- package/templates/identity/personas/therapist.yaml +91 -0
- package/templates/identity/personas/thinker.yaml +74 -0
- package/templates/identity/personas/writer.yaml +76 -0
- package/templates/identity/self/config.yaml +16 -0
- package/templates/identity/self/soul.yaml +105 -0
- package/templates/identity/user/identity.yaml +30 -0
- package/ts/src/backup/staging.ts +62 -0
- package/ts/src/backup/zipBackup.ts +267 -0
- package/ts/src/backup/zipReader.ts +109 -0
- package/ts/src/backup/zipWriter.ts +148 -0
- package/ts/src/builder/activeCheckpoint.ts +134 -0
- package/ts/src/builder/aggregateStatus.ts +34 -0
- package/ts/src/builder/approve.ts +149 -0
- package/ts/src/builder/argv.ts +292 -0
- package/ts/src/builder/ariadMethod.ts +536 -0
- package/ts/src/builder/artifacts/artifactSurfaces.ts +106 -0
- package/ts/src/builder/artifacts/artifactWriter.ts +113 -0
- package/ts/src/builder/artifacts/closureArtifacts.ts +199 -0
- package/ts/src/builder/artifacts/deliveryStoryArtifacts.ts +316 -0
- package/ts/src/builder/artifacts/planArtifacts.ts +242 -0
- package/ts/src/builder/artifacts/scaffoldSections.ts +273 -0
- package/ts/src/builder/artifacts/scaffoldState.ts +227 -0
- package/ts/src/builder/artifacts/storyFiles.ts +61 -0
- package/ts/src/builder/artifacts/storyIndex.ts +166 -0
- package/ts/src/builder/cadence.ts +59 -0
- package/ts/src/builder/card.ts +192 -0
- package/ts/src/builder/checkpointRefused.ts +66 -0
- package/ts/src/builder/closure.ts +964 -0
- package/ts/src/builder/commands.ts +2053 -0
- package/ts/src/builder/cursorPosition.ts +176 -0
- package/ts/src/builder/cursorTransitions.ts +77 -0
- package/ts/src/builder/deliveryCursor.ts +577 -0
- package/ts/src/builder/deliveryStoryClosure.ts +521 -0
- package/ts/src/builder/deliveryStoryPlan.ts +536 -0
- package/ts/src/builder/deliveryStoryReady.ts +160 -0
- package/ts/src/builder/deliveryStoryRoadmapClosure.ts +151 -0
- package/ts/src/builder/expand.ts +336 -0
- package/ts/src/builder/flowUnit.ts +339 -0
- package/ts/src/builder/homeSurface.ts +122 -0
- package/ts/src/builder/implementationGuard.ts +125 -0
- package/ts/src/builder/index.ts +11 -0
- package/ts/src/builder/lifecycleRefusal.ts +92 -0
- package/ts/src/builder/lifecycleRibbon.ts +159 -0
- package/ts/src/builder/load.ts +313 -0
- package/ts/src/builder/methodAdoption.ts +113 -0
- package/ts/src/builder/methodDefinition.ts +429 -0
- package/ts/src/builder/methodInspection.ts +371 -0
- package/ts/src/builder/plan.ts +408 -0
- package/ts/src/builder/planPreauthorization.ts +265 -0
- package/ts/src/builder/prepare.ts +225 -0
- package/ts/src/builder/projectPaths.ts +64 -0
- package/ts/src/builder/pull.ts +356 -0
- package/ts/src/builder/pullCandidates.ts +463 -0
- package/ts/src/builder/pullCandidatesRender.ts +238 -0
- package/ts/src/builder/refinementField.ts +93 -0
- package/ts/src/builder/releaseIntent.ts +173 -0
- package/ts/src/builder/resumeState.ts +84 -0
- package/ts/src/builder/resumeSurface.ts +149 -0
- package/ts/src/builder/roadmapGrammar.ts +300 -0
- package/ts/src/builder/roadmapScan.ts +97 -0
- package/ts/src/builder/roadmapScope.ts +210 -0
- package/ts/src/builder/scopePhrases.ts +146 -0
- package/ts/src/builder/storyPaths.ts +196 -0
- package/ts/src/builder/storyPlanPreauthorization.ts +287 -0
- package/ts/src/builder/surfaceProtocol.ts +42 -0
- package/ts/src/builder/templateGeneration.ts +148 -0
- package/ts/src/builder/transition.ts +178 -0
- package/ts/src/consult/args.ts +99 -0
- package/ts/src/consult/core.ts +122 -0
- package/ts/src/consult/modelCatalog.ts +55 -0
- package/ts/src/consult/render.ts +47 -0
- package/ts/src/conversation/append.ts +414 -0
- package/ts/src/conversation/backfill.ts +387 -0
- package/ts/src/conversation/closeTail.ts +467 -0
- package/ts/src/conversation/extraction.ts +333 -0
- package/ts/src/conversation/extractionDriver.ts +130 -0
- package/ts/src/conversation/extractionRun.ts +70 -0
- package/ts/src/conversation/journeyInference.ts +165 -0
- package/ts/src/conversation/journeyRepair.ts +114 -0
- package/ts/src/conversation/lifecycleFaces.ts +197 -0
- package/ts/src/conversation/lifecycleWrites.ts +313 -0
- package/ts/src/conversation/listing.ts +77 -0
- package/ts/src/conversation/logger.ts +576 -0
- package/ts/src/conversation/loggerCli.ts +282 -0
- package/ts/src/conversation/loggerRuntime.ts +259 -0
- package/ts/src/conversation/metadataLifecycle.ts +443 -0
- package/ts/src/conversation/recall.ts +66 -0
- package/ts/src/conversation/sessionComposites.ts +258 -0
- package/ts/src/conversation/sessionImport.ts +90 -0
- package/ts/src/conversation/transcriptBackfill.ts +141 -0
- package/ts/src/cultivation/applyActions.ts +241 -0
- package/ts/src/cultivation/cluster.ts +86 -0
- package/ts/src/cultivation/consolidationStore.ts +281 -0
- package/ts/src/cultivation/promptContext.ts +62 -0
- package/ts/src/cultivation/propose.ts +305 -0
- package/ts/src/cultivation/scan.ts +155 -0
- package/ts/src/db/backupGate.ts +47 -0
- package/ts/src/db/bootstrap.ts +108 -0
- package/ts/src/db/bootstrapLock.ts +223 -0
- package/ts/src/db/copyGuard.ts +60 -0
- package/ts/src/db/database.ts +397 -0
- package/ts/src/db/decode.ts +66 -0
- package/ts/src/db/ftsIntegrity.ts +41 -0
- package/ts/src/db/migrateOnOpen.ts +214 -0
- package/ts/src/db/migrations.ts +576 -0
- package/ts/src/db/readyOnOpen.ts +35 -0
- package/ts/src/db/rowDecode.ts +42 -0
- package/ts/src/db/schema.ts +432 -0
- package/ts/src/db/schemaInventory.ts +225 -0
- package/ts/src/db/schemaInventorySnapshot.ts +2107 -0
- package/ts/src/db/schemaState.ts +91 -0
- package/ts/src/db/schemaTsDivergence.ts +114 -0
- package/ts/src/descriptor/descriptorRead.ts +49 -0
- package/ts/src/docs/docsLint.ts +265 -0
- package/ts/src/explorer/handoff.ts +522 -0
- package/ts/src/explorer/render.ts +335 -0
- package/ts/src/explorer/story.ts +769 -0
- package/ts/src/explorer/transition.ts +72 -0
- package/ts/src/extensions/bindings.ts +170 -0
- package/ts/src/extensions/catalog.ts +249 -0
- package/ts/src/extensions/catalogCommands.ts +513 -0
- package/ts/src/extensions/catalogWrites.ts +652 -0
- package/ts/src/extensions/contextRuntime.ts +325 -0
- package/ts/src/extensions/dispatch.ts +374 -0
- package/ts/src/extensions/errors.ts +24 -0
- package/ts/src/extensions/manifest.ts +356 -0
- package/ts/src/extensions/migrations.ts +350 -0
- package/ts/src/extraction/conversation.ts +304 -0
- package/ts/src/extraction/conversationMetadata.ts +206 -0
- package/ts/src/extraction/fencing.ts +106 -0
- package/ts/src/extraction/json.ts +17 -0
- package/ts/src/extraction/prompts.ts +470 -0
- package/ts/src/frontDoor/args.ts +30 -0
- package/ts/src/frontDoor/argvShape.ts +106 -0
- package/ts/src/frontDoor/buildLoadRuntime.ts +139 -0
- package/ts/src/frontDoor/buildRoute.ts +398 -0
- package/ts/src/frontDoor/cli.ts +1865 -0
- package/ts/src/frontDoor/cloneRoleGuard.ts +98 -0
- package/ts/src/frontDoor/consultRoute.ts +50 -0
- package/ts/src/frontDoor/contentTailRoute.ts +239 -0
- package/ts/src/frontDoor/conversationLoggerRoute.ts +73 -0
- package/ts/src/frontDoor/cultivationRoute.ts +210 -0
- package/ts/src/frontDoor/dbPath.ts +131 -0
- package/ts/src/frontDoor/dbSafetyToolsRoute.ts +240 -0
- package/ts/src/frontDoor/exploreRoute.ts +572 -0
- package/ts/src/frontDoor/extensionCatalogRoute.ts +252 -0
- package/ts/src/frontDoor/frontDoorLog.ts +57 -0
- package/ts/src/frontDoor/identityWrite.ts +36 -0
- package/ts/src/frontDoor/journeyWriteRoute.ts +26 -0
- package/ts/src/frontDoor/lifecycleWriteRoute.ts +110 -0
- package/ts/src/frontDoor/liveBackup.ts +100 -0
- package/ts/src/frontDoor/mirrorModeRoute.ts +163 -0
- package/ts/src/frontDoor/namedRefusal.ts +35 -0
- package/ts/src/frontDoor/nodeSupport.ts +24 -0
- package/ts/src/frontDoor/render/consolidate.ts +199 -0
- package/ts/src/frontDoor/render/conversations.ts +33 -0
- package/ts/src/frontDoor/render/cultivationShared.ts +21 -0
- package/ts/src/frontDoor/render/descriptor.ts +20 -0
- package/ts/src/frontDoor/render/detectPersona.ts +50 -0
- package/ts/src/frontDoor/render/icons.ts +13 -0
- package/ts/src/frontDoor/render/identity.ts +59 -0
- package/ts/src/frontDoor/render/identityRows.ts +17 -0
- package/ts/src/frontDoor/render/inspectPersona.ts +53 -0
- package/ts/src/frontDoor/render/journeyStatus.ts +78 -0
- package/ts/src/frontDoor/render/journeys.ts +79 -0
- package/ts/src/frontDoor/render/list.ts +41 -0
- package/ts/src/frontDoor/render/memories.ts +67 -0
- package/ts/src/frontDoor/render/recall.ts +49 -0
- package/ts/src/frontDoor/render/shadow.ts +155 -0
- package/ts/src/frontDoor/render/tasks.ts +99 -0
- package/ts/src/frontDoor/render/tasksImportSync.ts +63 -0
- package/ts/src/frontDoor/render/week.ts +113 -0
- package/ts/src/frontDoor/routing.ts +999 -0
- package/ts/src/frontDoor/runtimeRoute.ts +623 -0
- package/ts/src/frontDoor/searchRoute.ts +166 -0
- package/ts/src/frontDoor/seedPaths.ts +98 -0
- package/ts/src/frontDoor/soulRoute.ts +433 -0
- package/ts/src/frontDoor/tasksImportSyncRoute.ts +110 -0
- package/ts/src/frontDoor/tasksWriteRoute.ts +101 -0
- package/ts/src/frontDoor/usage.ts +176 -0
- package/ts/src/guards/claudePlugin.ts +252 -0
- package/ts/src/guards/packContents.ts +306 -0
- package/ts/src/guards/piSourcedSkills.ts +70 -0
- package/ts/src/guards/retiredRouteShadows.ts +57 -0
- package/ts/src/guards/retiredSurfaces.ts +564 -0
- package/ts/src/hooks/claude.ts +176 -0
- package/ts/src/hooks/codex.ts +45 -0
- package/ts/src/hooks/gemini.ts +126 -0
- package/ts/src/hooks/main.ts +109 -0
- package/ts/src/hooks/mirrorState.ts +71 -0
- package/ts/src/hooks/payload.ts +68 -0
- package/ts/src/hooks/runtime.ts +159 -0
- package/ts/src/identity/applyConsolidationIdentityUpdate.ts +67 -0
- package/ts/src/identity/descriptorGenerate.ts +162 -0
- package/ts/src/identity/identityEdit.ts +143 -0
- package/ts/src/identity/identityKey.ts +77 -0
- package/ts/src/identity/identityRead.ts +69 -0
- package/ts/src/identity/identityStore.ts +80 -0
- package/ts/src/identity/journeyListing.ts +53 -0
- package/ts/src/identity/personaInspect.ts +44 -0
- package/ts/src/identity/personaListing.ts +37 -0
- package/ts/src/identity/setIdentity.ts +64 -0
- package/ts/src/index.ts +231 -0
- package/ts/src/init/init.ts +111 -0
- package/ts/src/journey/journeyOptions.ts +131 -0
- package/ts/src/journey/journeyRemoval.ts +158 -0
- package/ts/src/journey/journeyStatus.ts +149 -0
- package/ts/src/journey/journeySyncFile.ts +87 -0
- package/ts/src/journey/journeyWrite.ts +203 -0
- package/ts/src/journey/parentJourney.ts +41 -0
- package/ts/src/journey/validateParentJourney.ts +55 -0
- package/ts/src/mcp/boundary.ts +151 -0
- package/ts/src/mcp/guards.ts +244 -0
- package/ts/src/mcp/main.ts +121 -0
- package/ts/src/mcp/payload.ts +141 -0
- package/ts/src/mcp/protocol.ts +141 -0
- package/ts/src/mcp/readModels.ts +241 -0
- package/ts/src/mcp/registry.ts +201 -0
- package/ts/src/mcp/serve.ts +120 -0
- package/ts/src/mcp/tools/deterministic.ts +137 -0
- package/ts/src/mcp/tools/providerCrossing.ts +187 -0
- package/ts/src/mcp/wire.ts +8 -0
- package/ts/src/memory/journal.ts +180 -0
- package/ts/src/memory/listing.ts +107 -0
- package/ts/src/memory/memoryWrite.ts +88 -0
- package/ts/src/memory/reinforcement.ts +35 -0
- package/ts/src/mirror/context.ts +161 -0
- package/ts/src/mirror/defaultResolution.ts +199 -0
- package/ts/src/mirror/orchestration.ts +364 -0
- package/ts/src/mirror/reception.ts +194 -0
- package/ts/src/mirror/render.ts +75 -0
- package/ts/src/mirror/runtimeSession.ts +205 -0
- package/ts/src/mode/operatingMode.ts +148 -0
- package/ts/src/observability/callOutcome.ts +115 -0
- package/ts/src/observability/inspectLedger.ts +329 -0
- package/ts/src/observability/ledgerHooks.ts +126 -0
- package/ts/src/observability/llmCalls.ts +154 -0
- package/ts/src/persona/detectPersona.ts +81 -0
- package/ts/src/planning/promptAssembly.ts +111 -0
- package/ts/src/planning/weekPending.ts +81 -0
- package/ts/src/planning/weekPlan.ts +183 -0
- package/ts/src/planning/weekSave.ts +117 -0
- package/ts/src/providers/config.ts +189 -0
- package/ts/src/providers/cost.ts +64 -0
- package/ts/src/providers/credits.ts +204 -0
- package/ts/src/providers/embedding.ts +321 -0
- package/ts/src/providers/familyProviders.ts +147 -0
- package/ts/src/providers/llm.ts +334 -0
- package/ts/src/providers/openrouter.ts +244 -0
- package/ts/src/providers/redaction.ts +110 -0
- package/ts/src/providers/replay.ts +15 -0
- package/ts/src/providers/transport.ts +410 -0
- package/ts/src/repair/encodingRepair.ts +253 -0
- package/ts/src/runtime/backup.ts +151 -0
- package/ts/src/runtime/channel.ts +146 -0
- package/ts/src/runtime/config.ts +168 -0
- package/ts/src/runtime/diagnose.ts +686 -0
- package/ts/src/runtime/git.ts +510 -0
- package/ts/src/runtime/installKind.ts +220 -0
- package/ts/src/runtime/migrate.ts +154 -0
- package/ts/src/runtime/packageIdentity.ts +102 -0
- package/ts/src/runtime/releaseNotes.ts +244 -0
- package/ts/src/runtime/status.ts +557 -0
- package/ts/src/runtime/strategies/clone.ts +200 -0
- package/ts/src/runtime/strategies/package.ts +328 -0
- package/ts/src/runtime/treeRoot.ts +30 -0
- package/ts/src/runtime/update.ts +445 -0
- package/ts/src/runtime/updateGate.ts +40 -0
- package/ts/src/runtime/updatePipeline.ts +159 -0
- package/ts/src/runtime/version.ts +36 -0
- package/ts/src/runtime/wiring.ts +130 -0
- package/ts/src/search/memorySearch.ts +338 -0
- package/ts/src/search/ranker.ts +154 -0
- package/ts/src/seed/seed.ts +256 -0
- package/ts/src/seed/seedYaml.ts +133 -0
- package/ts/src/soul/apply.ts +218 -0
- package/ts/src/soul/harvest.ts +267 -0
- package/ts/src/soul/prompts/soul_beauty_voice.md +103 -0
- package/ts/src/soul/prompts/soul_self_voice.md +219 -0
- package/ts/src/soul/prompts/soul_wisdom_voice.md +121 -0
- package/ts/src/soul/prompts.ts +85 -0
- package/ts/src/soul/render.ts +358 -0
- package/ts/src/soul/state.ts +212 -0
- package/ts/src/soul/transition.ts +37 -0
- package/ts/src/tasks/journeyPathParse.ts +113 -0
- package/ts/src/tasks/taskImportSync.ts +142 -0
- package/ts/src/tasks/taskStore.ts +312 -0
- package/ts/src/tasks/weekView.ts +120 -0
- package/ts/src/util/clipCodePoints.ts +26 -0
- package/ts/src/util/paths.ts +63 -0
- package/ts/src/util/program.ts +9 -0
- package/ts/src/util/pyGenerators.ts +144 -0
- package/ts/src/util/pythonText.ts +317 -0
- package/ts/src/util/semver.ts +45 -0
- package/ts/src/util/shellWord.ts +25 -0
- package/ts/src/util/slug.ts +64 -0
- package/ts/src/welcome/card.ts +339 -0
- package/ts/src/welcome/statusLine.ts +101 -0
- package/ts/src/welcome/updateCache.ts +129 -0
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
---
|
|
2
|
+
digest: >
|
|
3
|
+
v0.26.0 completes the Soul Mode integration arc. Soul Mode can now close a
|
|
4
|
+
ritual with a Closing Rite, ask whether living material should remain as part
|
|
5
|
+
of Mirror identity, render a multi-layer Integration Proposal, and apply
|
|
6
|
+
confirmed Self, Shadow, Ego, or persona integrations only after explicit
|
|
7
|
+
confirmation. Confirmed integrations are additive: existing identity content is
|
|
8
|
+
preserved, each integration is recorded individually, and the prompt-facing
|
|
9
|
+
identity document receives a layer-appropriate section rather than being
|
|
10
|
+
overwritten.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# v0.26.0 — Soul Mode Integration
|
|
14
|
+
|
|
15
|
+
**Date:** 2026-06-09
|
|
16
|
+
|
|
17
|
+
## Highlights
|
|
18
|
+
|
|
19
|
+
- Adds the Soul Mode Closing Rite.
|
|
20
|
+
- Adds the multi-layer `☾ INTEGRATION PROPOSAL` surface.
|
|
21
|
+
- Makes post-closing integration explicit: living material may remain as part of Mirror identity only if the user chooses to integrate it.
|
|
22
|
+
- Keeps Integration Proposal proposal-only: `proposal only — nothing changed`.
|
|
23
|
+
- Supports confirmed Self, Shadow, Ego, and persona integrations through `memory soul apply`.
|
|
24
|
+
- Requires `--confirm APPLY` before any identity mutation.
|
|
25
|
+
- Preserves existing identity content by default.
|
|
26
|
+
- Adds atomic `identity_integrations` records for confirmed integrations.
|
|
27
|
+
- Appends confirmed integrations under layer-specific sections instead of replacing whole identity documents.
|
|
28
|
+
- Keeps journey identity out of Soul Mode Integration.
|
|
29
|
+
|
|
30
|
+
## Where We Started
|
|
31
|
+
|
|
32
|
+
Soul Mode could already open a ritual, hear multiple voices, mature a fruit, and
|
|
33
|
+
save a harvest to the journal. What was still missing was the threshold after
|
|
34
|
+
harvest: a way to close the field, see what remained alive, and decide whether
|
|
35
|
+
anything should become part of Mirror's identity without turning Soul Mode into an
|
|
36
|
+
automatic identity editor.
|
|
37
|
+
|
|
38
|
+
The first design separated review, proposal, and apply too sharply. In real
|
|
39
|
+
validation, the review surface already felt like a proposal. The release
|
|
40
|
+
therefore collapsed the review/proposal step into a single multi-layer
|
|
41
|
+
Integration Proposal and kept mutation as a separate, explicit confirmation step.
|
|
42
|
+
|
|
43
|
+
## What Changed
|
|
44
|
+
|
|
45
|
+
Soul Mode now has a Closing Rite. After a harvest is saved, Mirror can render a
|
|
46
|
+
`☾ CLOSING RITE` card that gathers what was harvested, what still echoes, what
|
|
47
|
+
remains open, and what may want integration. The rite is not itself a journal
|
|
48
|
+
save and not identity mutation. It is a threshold surface.
|
|
49
|
+
|
|
50
|
+
After closing, Mirror asks:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
There is living material that may want to remain as part of your Mirror identity. Do you want to integrate it now?
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If the user says yes, Mirror renders `☾ INTEGRATION PROPOSAL`. The proposal may
|
|
57
|
+
include origin, Self, Shadow, Ego behavior, persona, and leave-open material. The
|
|
58
|
+
identity sections are directly registerable, while origin and leave-open remain
|
|
59
|
+
context. The card ends with:
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
proposal only — nothing changed
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The post-proposal prompt is direct:
|
|
66
|
+
|
|
67
|
+
```text
|
|
68
|
+
Do you want to record it this way in your identity? Or we can adjust anything you want.
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
If the user wants adjustment, Mirror should render an adjusted Integration
|
|
72
|
+
Proposal before applying anything. If the user confirms, Mirror applies only the
|
|
73
|
+
exact confirmed text for the selected identity sections.
|
|
74
|
+
|
|
75
|
+
Confirmed apply is now additive and provenance-preserving. The new
|
|
76
|
+
`identity_integrations` table stores each confirmed integration as an individual
|
|
77
|
+
record with layer, key, content, origin, optional conversation/journal provenance,
|
|
78
|
+
status, and metadata. The prompt-facing identity document remains the current
|
|
79
|
+
synthesized layer, but it is no longer overwritten by a short Soul Mode fragment.
|
|
80
|
+
|
|
81
|
+
Confirmed integrations append under layer-specific sections:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
self → ## New Incorporated Principles
|
|
85
|
+
shadow → ## New Hidden Needs Recognized
|
|
86
|
+
ego → ## New Operational Patterns Identified
|
|
87
|
+
persona → ## New Participation Patterns Revealed
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
This release also tightened the ritual contract for Fruit In Maturation. New
|
|
91
|
+
material should thicken the fruit instead of replacing it with the latest insight.
|
|
92
|
+
The fruit remains singular in form but plural in root: one living phrase that can
|
|
93
|
+
carry multiple elements from the lineage of the session.
|
|
94
|
+
|
|
95
|
+
Finally, Self integration language was made more affirmative. Self proposals
|
|
96
|
+
state adopted first-person principles, not mere possibilities. For example:
|
|
97
|
+
|
|
98
|
+
```text
|
|
99
|
+
I care for bonds without turning immediate availability into moral proof of love; my inner measure also belongs to care.
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Conscious Exclusions
|
|
103
|
+
|
|
104
|
+
- No automatic identity mutation.
|
|
105
|
+
- No journey identity or journey-pattern integration.
|
|
106
|
+
- No replacement-mode identity mutation.
|
|
107
|
+
- No automatic re-synthesis engine for identity documents.
|
|
108
|
+
- No rich Web Soul Mode UI.
|
|
109
|
+
- No Passagem.
|
|
110
|
+
- No Return To Center.
|
|
111
|
+
- No Closing Day or Daily Soul Ritual.
|
|
112
|
+
- No new Soul voices.
|
|
113
|
+
- No local Wisdom/Beauty source library.
|
|
114
|
+
|
|
115
|
+
## What We Learned
|
|
116
|
+
|
|
117
|
+
The integration surface works best when it is already a proposal, not a neutral
|
|
118
|
+
review followed by another proposal. Once the user sees Self, Shadow, Ego, and
|
|
119
|
+
persona material together, asking for a second proposal introduces friction and
|
|
120
|
+
uncertainty. The right boundary is not review versus proposal; it is proposal
|
|
121
|
+
versus mutation.
|
|
122
|
+
|
|
123
|
+
We also learned that safe identity mutation requires two representations. The
|
|
124
|
+
identity `content` field is the current synthesized prompt-facing document, but
|
|
125
|
+
it should not be the only record of what entered the psyche. Individual
|
|
126
|
+
integration records preserve provenance, make future review possible, and prevent
|
|
127
|
+
short ritual insights from erasing long-standing identity material.
|
|
128
|
+
|
|
129
|
+
The fruit-maturation refinement clarified the ritual grammar: maturation is not
|
|
130
|
+
selection of the newest insight. It is condensation. A mature fruit can carry
|
|
131
|
+
more than one root while remaining one phrase.
|
|
132
|
+
|
|
133
|
+
## Next Horizon
|
|
134
|
+
|
|
135
|
+
The next Soul Mode horizon is the web experience: making the ritual and its
|
|
136
|
+
integration records visible in a richer interface without weakening the
|
|
137
|
+
confirmation boundary. Future work may also add identity re-synthesis from
|
|
138
|
+
integration records, but replacement and automatic consolidation should remain
|
|
139
|
+
explicit, inspectable operations rather than hidden Soul Mode behavior.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
digest: >
|
|
3
|
+
v0.26.1 is a Soul Mode integration language patch. It normalizes hard-coded
|
|
4
|
+
Soul Mode confirmation and integration copy to Mirror Mind's English baseline,
|
|
5
|
+
including the Pi skill contract and identity integration section headings.
|
|
6
|
+
The patch does not add localization; it keeps the framework internally
|
|
7
|
+
consistent until explicit i18n exists.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# v0.26.1 — Soul Mode English Integration Copy
|
|
11
|
+
|
|
12
|
+
**Date:** 2026-06-10
|
|
13
|
+
|
|
14
|
+
## Highlights
|
|
15
|
+
|
|
16
|
+
- Replaces Portuguese hard-coded Soul Mode integration prompts with English baseline copy.
|
|
17
|
+
- Updates additive identity integration section headings to English defaults.
|
|
18
|
+
- Aligns CV19 docs, release notes, and focused Soul Mode tests with the English baseline.
|
|
19
|
+
- Preserves the v0.26.0 Soul Mode Integration behavior and scope.
|
|
20
|
+
|
|
21
|
+
## Where We Started
|
|
22
|
+
|
|
23
|
+
A live Soul Mode test conducted in English exposed several Portuguese prompts in
|
|
24
|
+
confirmation and integration flow. The issue was not localization, because Mirror
|
|
25
|
+
Mind does not have an i18n layer yet. The problem was simpler: framework-level
|
|
26
|
+
hard-coded copy had been written in Portuguese inside an English-baseline
|
|
27
|
+
runtime.
|
|
28
|
+
|
|
29
|
+
## What Changed
|
|
30
|
+
|
|
31
|
+
The Pi Soul Mode skill now asks closing, integration, confirmation, and
|
|
32
|
+
post-apply questions in English. The layer-language examples in the skill were
|
|
33
|
+
also translated so future proposals are guided by the same baseline language.
|
|
34
|
+
|
|
35
|
+
The additive identity integration headings written by `memory soul apply` now use
|
|
36
|
+
English section titles:
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
self → ## New Incorporated Principles
|
|
40
|
+
shadow → ## New Hidden Needs Recognized
|
|
41
|
+
ego → ## New Operational Patterns Identified
|
|
42
|
+
persona → ## New Participation Patterns Revealed
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
The CV19 story docs, tests, and v0.26.0 release note were reconciled so the
|
|
46
|
+
record no longer teaches Portuguese as the framework default.
|
|
47
|
+
|
|
48
|
+
## Conscious Exclusions
|
|
49
|
+
|
|
50
|
+
- No localization system.
|
|
51
|
+
- No dynamic language detection.
|
|
52
|
+
- No migration of previously written user identity content.
|
|
53
|
+
- No change to Soul Mode ritual behavior beyond baseline copy and section headings.
|
|
54
|
+
|
|
55
|
+
## What We Learned
|
|
56
|
+
|
|
57
|
+
When localization is absent, the framework still needs one clear base language.
|
|
58
|
+
For Mirror Mind internals and hard-coded runtime contracts, that language is
|
|
59
|
+
English. User-authored material may remain in any language, but product copy and
|
|
60
|
+
runtime defaults should not drift into mixed-language behavior.
|
|
61
|
+
|
|
62
|
+
## Next Horizon
|
|
63
|
+
|
|
64
|
+
Future localization can make Soul Mode speak in the user's preferred language.
|
|
65
|
+
Until then, hard-coded Mirror Mind surfaces should remain consistently English.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
digest: >
|
|
3
|
+
v0.26.2 is an emergency web maintenance patch. It brings selected bulk
|
|
4
|
+
conversation actions to the main Conversations view, so users can assign many
|
|
5
|
+
conversations to a journey or delete many conversations in one operation
|
|
6
|
+
without going through one conversation at a time.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# v0.26.2 — Web Conversation Bulk Actions
|
|
10
|
+
|
|
11
|
+
**Date:** 2026-06-14
|
|
12
|
+
|
|
13
|
+
## Highlights
|
|
14
|
+
|
|
15
|
+
- Adds selected bulk assignment to the main web Conversations view.
|
|
16
|
+
- Adds selected bulk deletion to the main web Conversations view.
|
|
17
|
+
- Reuses the existing safe bulk APIs for journey assignment and conversation deletion.
|
|
18
|
+
- Keeps the existing Unassigned conversations maintenance flow working with the same controls.
|
|
19
|
+
|
|
20
|
+
## Where We Started
|
|
21
|
+
|
|
22
|
+
The web app already had server support for selected conversation assignment and deletion, and the Unassigned conversations maintenance view exposed those controls. The main Conversations view still forced users to handle conversations one at a time, which made emergency cleanup and reclassification slow when many conversations needed the same action.
|
|
23
|
+
|
|
24
|
+
## What Changed
|
|
25
|
+
|
|
26
|
+
The main Conversations view now renders a bulk action panel above the grouped conversation list. Each conversation row includes a checkbox. After selecting one or more conversations, the user can choose a journey and assign the selected conversations in one click, or delete the selected conversations after an explicit browser confirmation.
|
|
27
|
+
|
|
28
|
+
After either operation, the current conversation surface reloads in place. The same shared behavior preserves the existing Unassigned conversations workflow while making the broader Conversations view useful for bulk maintenance.
|
|
29
|
+
|
|
30
|
+
## Conscious Exclusions
|
|
31
|
+
|
|
32
|
+
- No inline journey creation inside the bulk assignment panel.
|
|
33
|
+
- No new backend mutation path beyond the existing bulk assignment and deletion APIs.
|
|
34
|
+
- No undo flow for deleted conversations.
|
|
35
|
+
- No change to conversation metadata extraction, repair, or journey inference.
|
|
36
|
+
|
|
37
|
+
## What We Learned
|
|
38
|
+
|
|
39
|
+
The maintenance affordance belonged at the place where the user sees the full field, not only at the filtered edge. The safe API already existed; the missing product behavior was exposing that capability where operational pressure actually appears.
|
|
40
|
+
|
|
41
|
+
## Next Horizon
|
|
42
|
+
|
|
43
|
+
Future web maintenance work can add richer selection affordances such as select-all by day, filter-aware selection, or inline creation-and-assign flows. This patch stays deliberately small for emergency release.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
digest: >
|
|
3
|
+
v0.27.0 is the Ariad Builder lifecycle runtime release. It turns Builder Mode
|
|
4
|
+
from context loading plus partial Ariad support into an end-to-end delivery
|
|
5
|
+
environment with deterministic surfaces, method gates, story packages,
|
|
6
|
+
validation acceptance, Debt Review, Coherence, Done, and conservative
|
|
7
|
+
higher-autonomy cadence. The release intentionally stops short of durable debt
|
|
8
|
+
ledger automation and project-local method preference overrides, which remain
|
|
9
|
+
planned as the next governance layers.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# v0.27.0 — Ariad Builder Lifecycle Runtime
|
|
13
|
+
|
|
14
|
+
**Date:** 2026-06-14
|
|
15
|
+
|
|
16
|
+
## Highlights
|
|
17
|
+
|
|
18
|
+
- Adds the full Ariad Builder lifecycle from Pull through Done.
|
|
19
|
+
- Makes Ariad surfaces deterministic runtime artifacts with verbatim transport.
|
|
20
|
+
- Enforces hard gates for Plan approval, implementation permission, Navigator validation acceptance, Debt Review, Coherence, and Done.
|
|
21
|
+
- Adds complete story package materialization for implementable User/Technical Stories.
|
|
22
|
+
- Adds conservative cadence profiles: `stepwise`, `checkpoint`, `accelerated`, and explicit-limit `autonomous`.
|
|
23
|
+
- Adds a full sandbox reset fixture for repeatable dogfooding in `/Users/alissonvale/Code/sandbox-pet-store`.
|
|
24
|
+
|
|
25
|
+
## Where We Started
|
|
26
|
+
|
|
27
|
+
Builder Mode could load a journey and Ariad could exist as method data, but the delivery lifecycle was still partly conversational. The Driver could inspect, pull, or plan work, but the method did not yet govern the whole path from roadmap choice to story closure. Dogfooding exposed the danger: if a gate lived only in prose, the agent could summarize, skip, or reinterpret it.
|
|
28
|
+
|
|
29
|
+
DS4 set out to make Ariad operational as runtime behavior. The goal was not autonomy for its own sake. The goal was a Driver that can move with discipline while preserving the Navigator's decisions at the points where product judgment, validation, debt, history, and release boundaries matter.
|
|
30
|
+
|
|
31
|
+
## What Changed
|
|
32
|
+
|
|
33
|
+
Builder now supports the complete Ariad story lifecycle:
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
Pull -> Prepare -> Expand -> Plan -> Approve -> Implement -> Validate -> Debt Review -> Coherence -> Done
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Delivery Stories are no longer directly implementable. Pulling a Delivery Story prepares and expands it into implementable User/Technical Stories, materializes the relevant story package, and stops for the next story confirmation. Plan belongs only to implementable stories, creates `index.md`, `plan.md`, and `test-guide.md`, and blocks implementation until `approve-plan` records an explicit approval event.
|
|
40
|
+
|
|
41
|
+
Post-implementation gates are now deterministic. `validate-item` separates automated checks, E2E evidence, Navigator validation route, and explicit Navigator acceptance. `review-item` names debt findings and the Navigator debt decision before Coherence. `coherence-item` verifies process, project, and product alignment. `done-item` records history action, roadmap/story package update, and next Ariad movement.
|
|
42
|
+
|
|
43
|
+
Surfaces became method-level runtime artifacts. The Ariad surface transport contract says that marked surfaces are returned verbatim and interpretation comes only after the block. This closed the gap where a successful runtime transition could be summarized conversationally instead of shown as the deterministic evidence surface.
|
|
44
|
+
|
|
45
|
+
Cadence also became explicit. `stepwise` supports phase-by-phase dogfooding, `checkpoint` supports ordinary hard-gate flow, `accelerated` can continue through safe soft stops, and `autonomous` requires explicit Navigator limits. Higher-autonomy cadence changes stop frequency; it does not weaken Plan approval, validation acceptance, debt decisions, unsafe-operation boundaries, push/release policy, or Done/history boundaries.
|
|
46
|
+
|
|
47
|
+
## Conscious Exclusions
|
|
48
|
+
|
|
49
|
+
- No durable versioned debt ledger yet. DS5 continues with ledger and Refactor-loop work.
|
|
50
|
+
- No pay-now Refactor loop yet. Pay-now debt remains blocked before Coherence until that loop exists.
|
|
51
|
+
- No project-local `.ariad/config.yml` preference overrides yet. DS8 owns method preferences and effective policy resolution.
|
|
52
|
+
- No release automation or push-policy enforcement beyond the current runtime and process boundaries.
|
|
53
|
+
- No retroactive migration of every existing CV20 story artifact into Ariad's final story package shape.
|
|
54
|
+
|
|
55
|
+
## What We Learned
|
|
56
|
+
|
|
57
|
+
Dogfooding was not a side activity; it was the design method. The most important fixes came from places where the agent behaved plausibly but not methodologically: treating a Delivery Story as directly plannable, counting a validation route as validation acceptance, or summarizing a surface instead of transporting it. Each time, the fix was to move the rule from conversational habit into runtime state, method data, or deterministic surface protocol.
|
|
58
|
+
|
|
59
|
+
The cadence work also clarified a useful principle: autonomy is not permission to cross judgment. Ariad can move faster when evidence is present, but the Navigator's gates remain the structure that makes the speed safe.
|
|
60
|
+
|
|
61
|
+
## Next Horizon
|
|
62
|
+
|
|
63
|
+
The next natural layers are governance, not basic lifecycle. DS5 can make technical debt durable through a versioned ledger and Refactor loop. DS8 can make Navigator and project preferences first-class method configuration through canonical defaults, local overrides, and effective-policy inspection. After this release, the Builder Mode Evolution journey itself is ready to adopt Ariad prospectively and dogfood those next stories with the runtime it just produced.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
digest: >
|
|
3
|
+
v0.28.0 is the Ariad Delivery Story lifecycle release. It makes
|
|
4
|
+
delivery_story flow a first-class Builder Mode path: the Navigator can choose
|
|
5
|
+
Delivery Story cadence, approve an aggregate DS Plan, validate and close the
|
|
6
|
+
DS as one lifecycle unit, and inspect canonical checkpoint artifacts and
|
|
7
|
+
visual Ariad surfaces throughout the flow.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# v0.28.0 — Ariad Delivery Story Lifecycle
|
|
11
|
+
|
|
12
|
+
**Date:** 2026-06-16
|
|
13
|
+
|
|
14
|
+
## Highlights
|
|
15
|
+
|
|
16
|
+
- Adds Navigator flow-unit selection between `story_by_story` and `delivery_story`.
|
|
17
|
+
- Persists Delivery Story lifecycle state, child work packages, and aggregate checkpoint status.
|
|
18
|
+
- Adds aggregate Delivery Story Plan, approval, validation, debt review, coherence, and done runtime checkpoints.
|
|
19
|
+
- Materializes DS-level `plan.md`, `validation.md`, `review.md`, `coherence.md`, and `done.md` artifacts in canonical roadmap packages.
|
|
20
|
+
- Brings DS-level Ariad surfaces into the visual card grammar, including Builder resume, pull candidates, flow-unit selection, DS Plan, and DS closure.
|
|
21
|
+
- Hardens the sandbox reset fixture so `/Users/alissonvale/Code/sandbox-pet-store` reliably includes its operational `REFERENCE.md`.
|
|
22
|
+
|
|
23
|
+
## Where We Started
|
|
24
|
+
|
|
25
|
+
`v0.27.0` made Ariad operational for story-by-story Builder delivery, but Delivery Stories still behaved mostly as expansion containers. That preserved safety, yet it created friction for cohesive work where the Navigator wants to validate the whole Delivery Story rather than approve and close every child User or Technical Story separately.
|
|
26
|
+
|
|
27
|
+
Dogfooding made the missing layer visible. A Delivery Story needed to become a selectable Navigator-facing flow unit without erasing child story traceability. The runtime also needed to stop treating DS-level checkpoints as transient console output: Plan and closure evidence had to land in the same canonical package where the roadmap says the DS lives.
|
|
28
|
+
|
|
29
|
+
## What Changed
|
|
30
|
+
|
|
31
|
+
Builder now supports two Ariad Navigator flow units:
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
story_by_story -> child User/Technical Stories are Navigator-facing lifecycle units
|
|
35
|
+
delivery_story -> parent Delivery Story is the Navigator-facing lifecycle unit
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
In `delivery_story` flow, child stories remain visible as Driver work packages and evidence units, while the Navigator approves the aggregate DS Plan and validates the aggregate DS outcome. The runtime persists the chosen flow unit, child work items, and aggregate checkpoint status in the delivery cursor so Builder can resume the DS lifecycle coherently.
|
|
39
|
+
|
|
40
|
+
The DS Plan and closure lifecycle is now materialized. `plan-delivery-story` writes `plan.md`; DS validation, review, coherence, and done write `validation.md`, `review.md`, `coherence.md`, and `done.md` in the canonical Delivery Story package. Path resolution prefers existing roadmap packages so the runtime does not create synthetic fallback paths when canonical docs already exist.
|
|
41
|
+
|
|
42
|
+
The release also tightens Navigator experience. Previously some newer Ariad surfaces were valid transport blocks but rendered as plain structured text. They now use the same visual card grammar as the core lifecycle surfaces, including `BUILDER_RESUME`, `PULL_CANDIDATES`, `NAVIGATOR_FLOW_UNIT`, `DELIVERY_STORY_PLAN_CHECKPOINT`, and `DELIVERY_STORY_CLOSURE_CHECKPOINT`.
|
|
43
|
+
|
|
44
|
+
## Conscious Exclusions
|
|
45
|
+
|
|
46
|
+
- No automated push or release policy is introduced here. CV20.DS6 owns commit/push/release governance.
|
|
47
|
+
- No durable debt ledger or pay-now Refactor loop is introduced here. CV20.DS7 owns that layer.
|
|
48
|
+
- No project-local Ariad preference override file is introduced here. CV20.DS8 owns method preferences and effective-policy resolution.
|
|
49
|
+
- Delivery Story flow does not erase child story evidence; it changes the Navigator-facing lifecycle unit only.
|
|
50
|
+
|
|
51
|
+
## What We Learned
|
|
52
|
+
|
|
53
|
+
The important distinction is now explicit: User/Technical Stories can be Driver work packages while the Delivery Story is the Navigator's validation surface. That lets Builder preserve engineering traceability without forcing the Navigator to experience every internal unit as a separate product checkpoint.
|
|
54
|
+
|
|
55
|
+
The dogfood session also exposed a visual-contract lesson. Marked Ariad blocks are necessary but not sufficient; a Navigator-facing surface should also follow the visual grammar. Several surfaces were corrected during validation, which suggests a future refactor toward a shared Ariad card renderer instead of module-local formatting helpers.
|
|
56
|
+
|
|
57
|
+
## Next Horizon
|
|
58
|
+
|
|
59
|
+
The next release boundary is governance. CV20.DS6 should make commit, push, and release intent explicit in Builder Mode, separating local history from remote publication and stable promotion. After that, CV20.DS7 can make technical debt decisions durable through a ledger and Refactor loop.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
digest: >
|
|
3
|
+
v0.29.0 is the Ariad Refinement Workbench release. It makes Refinement a
|
|
4
|
+
first-class Builder Mode work field beside Delivery: Builder Home shows
|
|
5
|
+
Workbench state, Refinement Stories and Change Requests persist durably,
|
|
6
|
+
Navigators can compose and pull RSs, traverse CR cycles, and close RS arcs
|
|
7
|
+
with validation evidence preserved while roadmap Delivery remains untouched.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# v0.29.0 — Ariad Refinement Workbench
|
|
11
|
+
|
|
12
|
+
**Date:** 2026-06-17
|
|
13
|
+
|
|
14
|
+
## Highlights
|
|
15
|
+
|
|
16
|
+
- Adds Builder Home work fields for Delivery and Refinement, with Workbench state visible during activation.
|
|
17
|
+
- Persists Refinement Stories, Change Requests, and active Refinement cursor state in durable SQLite tables.
|
|
18
|
+
- Adds conversational and CLI support for creating RSs, capturing CRs, attaching CRs, showing RS overviews, and pulling an RS into active Refinement Work.
|
|
19
|
+
- Adds CR lifecycle transitions: select, confirm, plan, mark implemented, validate, and done note.
|
|
20
|
+
- Adds RS lifecycle transitions: review, coherence, and close.
|
|
21
|
+
- Guards RS closure so unfinished CRs cannot be closed silently; CRs must be done, parked, rejected, or promoted.
|
|
22
|
+
- Extends sandbox reset so Workbench stories, change requests, and cursors clear between dogfooding runs.
|
|
23
|
+
|
|
24
|
+
## Where We Started
|
|
25
|
+
|
|
26
|
+
`v0.28.0` made Delivery Story flow a first-class Ariad Builder path, but every adjustment still had to live either in roadmap Delivery or in conversational memory. Dogfooding exposed a different kind of work: small or emergent care for existing capability. These requests were real enough to need confirmation, validation, and closure, but too local to deserve roadmap weight.
|
|
27
|
+
|
|
28
|
+
Ariad already had the conceptual pressure for a third work area. Builder needed the runtime shape: an orientation surface, durable Workbench storage, a way to compose and pull Refinement Stories, a CR cycle for mutations, and RS-level review/coherence/close for the whole refinement arc.
|
|
29
|
+
|
|
30
|
+
## What Changed
|
|
31
|
+
|
|
32
|
+
Builder activation now renders a Workbench-aware home surface. The Navigator can see the Delivery field and Refinement field before choosing work. Activation remains orientation only: it does not pull Delivery Work, pull Refinement Work, select CRs, or execute lifecycle work automatically.
|
|
33
|
+
|
|
34
|
+
The Workbench is durable. Refinement Stories and Change Requests are stored outside roadmap files, with ordering, status, provenance, outcome notes, and active cursor state. Sandbox reset clears this state so dogfooding can start from a clean Workbench.
|
|
35
|
+
|
|
36
|
+
Refinement composition is now explicit. The Navigator can create an RS, capture CRs, attach existing CRs, inspect an RS overview, and pull an RS into active Refinement Work. Pulling an RS sets the active Refinement Story but deliberately leaves the active Change Request empty.
|
|
37
|
+
|
|
38
|
+
The CR cycle is now stateful. A CR moves through select, confirm, plan, implementation evidence, validation evidence, and done note. Surfaces show current phase, active cursor state, next conversational move, and the boundary that non-implementation transitions do not mutate files or touch Delivery Work.
|
|
39
|
+
|
|
40
|
+
The RS can now close coherently. Review and coherence are RS-level checkpoints that do not mutate files. Close requires coherence first and refuses unfinished CRs. When the RS closes, active Refinement state clears while CR outcomes and done notes remain stored.
|
|
41
|
+
|
|
42
|
+
## Conscious Exclusions
|
|
43
|
+
|
|
44
|
+
- No release, push, tag, or stable promotion policy was added. That remains the next Builder governance layer.
|
|
45
|
+
- No full debt ledger or pay-now Refactor loop was added. Follow-up CRs remain in the Workbench until the debt-ledger story provides durable debt workflow.
|
|
46
|
+
- No automatic CR clustering or AI-suggested RS composition was added.
|
|
47
|
+
- No web UI for the Workbench was added.
|
|
48
|
+
- No quick-refinement shortcut was added as a single atomic command; the composed path is available through RS create, CR capture, and RS pull.
|
|
49
|
+
- Refinement does not promote CRs to Delivery automatically. Promotion remains an explicit Navigator decision.
|
|
50
|
+
|
|
51
|
+
## What We Learned
|
|
52
|
+
|
|
53
|
+
Refinement is not lighter because it is less disciplined. It is lighter because the unit of commitment is smaller and the roadmap stays clean. The Workbench gives Builder a place to hold care without inflating every friction into Delivery.
|
|
54
|
+
|
|
55
|
+
The key boundary is the active field. Roadmap items enter Delivery Work. Workbench items enter Refinement Work. Builder Home became the place where that distinction is visible before execution begins.
|
|
56
|
+
|
|
57
|
+
The dogfood cycle also confirmed that surfaces need to carry state, not just report commands. The Navigator needs to see which CR phase or RS phase is active, what evidence was recorded, what the next move is, and whether files or Delivery state changed.
|
|
58
|
+
|
|
59
|
+
## Next Horizon
|
|
60
|
+
|
|
61
|
+
The next release boundary is release and push governance. Builder now has Delivery and Refinement lifecycle closure, but ordinary Done must remain separate from commit, push, tag, stable promotion, and release authorization. CV20.DS7 should make those policies explicit and inspectable.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
digest: >
|
|
3
|
+
v0.29.1 is a Windows compatibility hardening patch. It preserves Mirror's
|
|
4
|
+
Claude Code and plugin skill surfaces on filesystems that cannot store colon
|
|
5
|
+
characters, keeps UTF-8 runtime output safer on Windows consoles, and adds an
|
|
6
|
+
explicit backup-gated repair command for historical Portuguese mojibake in
|
|
7
|
+
local SQLite text. It also normalizes path rendering in runtime, Builder,
|
|
8
|
+
Explorer, extension, and web surfaces without changing the public command
|
|
9
|
+
names users invoke.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# v0.29.1 — Windows Compatibility Hardening
|
|
13
|
+
|
|
14
|
+
**Date:** 2026-06-25
|
|
15
|
+
|
|
16
|
+
## Highlights
|
|
17
|
+
|
|
18
|
+
- Renames committed Claude skill directories from `mm:*` to Windows-safe `mm-*` while preserving `name: "mm:*"` in each `SKILL.md`.
|
|
19
|
+
- Generates the canonical Claude plugin with Windows-safe skill directories while preserving the same Claude command names in skill frontmatter.
|
|
20
|
+
- Adds Windows-safe external extension skill materialization, including opportunistic cleanup from legacy `ext:*` directories to `ext-*` directories when the legacy directory belongs to Mirror.
|
|
21
|
+
- Prefers UTF-8 stdout and stderr at the `python -m memory` entrypoint so Unicode runtime surfaces remain printable on Windows consoles.
|
|
22
|
+
- Adds `python -m memory repair-encoding` as an explicit dry-run/apply command for reversible UTF-8/Windows mojibake in user text, with backup before mutation.
|
|
23
|
+
- Normalizes path display in runtime, Builder, Explorer handoff, web command, and web preference surfaces so rendered contracts use forward-slash paths consistently.
|
|
24
|
+
|
|
25
|
+
## Where We Started
|
|
26
|
+
|
|
27
|
+
A Windows local installation exposed two compatibility gaps. The repository still carried Claude skill directories such as `.claude/skills/mm:build`, which are valid on macOS and Linux but invalid on NTFS. The runtime also surfaced historical Portuguese text that had been stored as mojibake, for example `é`, `ç`, and `ã`, after older Windows/local-runtime combinations decoded UTF-8 through legacy code pages.
|
|
28
|
+
|
|
29
|
+
The first risk was structural: solving Windows by deleting Claude skills would make the checkout portable but weaken the Claude runtime surface for everyone. The second risk was data-related: repairing mojibake automatically during startup or update would mutate user-owned memory without review.
|
|
30
|
+
|
|
31
|
+
## What Changed
|
|
32
|
+
|
|
33
|
+
Mirror now separates command identity from filesystem identity. Claude command names remain `mm:*` in `SKILL.md` frontmatter and user-facing documentation, but the committed directories use Windows-safe `mm-*` names. The same rule applies to the canonical Claude plugin generated under `plugins/mirror-mind/skills/`.
|
|
34
|
+
|
|
35
|
+
External extension materialization now uses filesystem-safe directories too. A Claude extension command such as `ext:review-copy` is stored under `ext-review-copy` on disk while the catalog continues to record the runtime command name. Install, expose, and uninstall paths know how to remove legacy `ext:*` directories when the legacy `SKILL.md` declares the same command or safe label, avoiding duplicate stale surfaces without deleting unrelated user-authored directories.
|
|
36
|
+
|
|
37
|
+
The runtime entrypoint now prefers UTF-8 output streams when possible. This keeps Mirror's Unicode cards, symbols, and Portuguese text printable in Windows console contexts while leaving capture streams and already-UTF-8 environments alone.
|
|
38
|
+
|
|
39
|
+
The new `repair-encoding` command handles historical database text explicitly. It scans known user-text columns, previews each reversible repair by default, and applies changes only with `--apply`. The apply path creates a database backup first unless the user explicitly opts out with `--no-backup`.
|
|
40
|
+
|
|
41
|
+
Several rendered path fields now use forward-slash display consistently. This keeps Ariad and web/runtime surfaces stable across platforms while leaving real filesystem operations under `Path` control.
|
|
42
|
+
|
|
43
|
+
## Conscious Exclusions
|
|
44
|
+
|
|
45
|
+
- No automatic database text repair runs during startup, diagnosis, or runtime update.
|
|
46
|
+
- No attempt is made to repair irrecoverable replacement-character corruption or arbitrary extension tables.
|
|
47
|
+
- No user-facing Claude command names were changed; `/mm:build`, `/mm:mirror`, and the rest remain the semantic command surface.
|
|
48
|
+
- No hosted or cross-device Windows synchronization behavior was added.
|
|
49
|
+
- No broader TypeScript port or runtime packaging change is included in this patch.
|
|
50
|
+
|
|
51
|
+
## What We Learned
|
|
52
|
+
|
|
53
|
+
Windows compatibility is not only an operating-system detail. It forces a clearer boundary between semantic names and filesystem names. Command names can keep the language users and runtimes understand, while directories use a portable representation.
|
|
54
|
+
|
|
55
|
+
Data repair needs a different posture from runtime hardening. Encoding defaults can be improved automatically because they affect future output. Historical user text belongs to the user, so repair must remain visible, previewable, and backup-gated.
|
|
56
|
+
|
|
57
|
+
## Next Horizon
|
|
58
|
+
|
|
59
|
+
The next compatibility horizon is release-channel validation: stable updates should carry the Windows-safe skill layout and repair command through the same self-update path real users run. Longer term, CV21 and CV22 continue the runtime packaging and TypeScript-port work that will reduce platform-specific seams further.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
digest: >
|
|
3
|
+
v0.29.2 is the Ariad Builder flow refinement release. It sharpens the
|
|
4
|
+
Refinement and Delivery surfaces introduced in the previous Builder releases,
|
|
5
|
+
replacing metadata-heavy cards with compact Navigator-facing orientation,
|
|
6
|
+
stable RS/CR display codes, deterministic lifecycle ribbons, and clearer
|
|
7
|
+
handoffs through validation, debt review, Done, and project position. It also
|
|
8
|
+
separates raw roadmap inspection from narrative project orientation while
|
|
9
|
+
preserving artifact traceability and release/push boundaries.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# v0.29.2 — Ariad Builder Flow Refinement
|
|
13
|
+
|
|
14
|
+
**Date:** 2026-07-02
|
|
15
|
+
|
|
16
|
+
## Highlights
|
|
17
|
+
|
|
18
|
+
- Adds stable human-readable Refinement Story and Change Request display codes such as `RS001` and `CR021`, backed by a database migration while preserving internal ids for storage and diagnostics.
|
|
19
|
+
- Simplifies Refinement Work and Delivery Work surfaces so lifecycle ribbons appear only on real flow events and cards prioritize Navigator orientation over form-like metadata.
|
|
20
|
+
- Adds `PROJECT_POSITION` as the narrative orientation surface for Builder activation and Done completion while preserving `ROADMAP_SNAPSHOT` as the raw roadmap inspection surface.
|
|
21
|
+
- Centralizes artifact reporting through `ARTIFACTS_MATERIALIZED`, keeping lifecycle cards readable while retaining created/updated/existing file traceability.
|
|
22
|
+
- Folds Delivery Coherence into Done verification, clarifies validation-to-debt-review and no-action-debt-to-Done handoffs, and requires confirmation before final Done closure.
|
|
23
|
+
- Adds development/test environment visibility to the status line so local dogfooding sessions are easier to distinguish from production use.
|
|
24
|
+
|
|
25
|
+
## Where We Started
|
|
26
|
+
|
|
27
|
+
`v0.29.0` made Ariad Refinement Work real inside Builder Mode. Dogfooding immediately exposed a second-order problem: the system could move through the right states, but many cards still felt like internal records rather than conversational orientation surfaces. Opaque ids leaked into Navigator-facing views, lists mixed active work with closed work, lifecycle ribbons appeared on surfaces that were only inspections, and Delivery closure still treated Coherence as a separate stage instead of a Done responsibility.
|
|
28
|
+
|
|
29
|
+
At the same time, Builder activation and Done completion needed a better sense of position. Showing a raw roadmap table was useful when explicitly inspecting the roadmap, but it was too blunt as the final word after a story closed. The Navigator needed a compact answer to: where are we now, what just moved, and what looks next?
|
|
30
|
+
|
|
31
|
+
## What Changed
|
|
32
|
+
|
|
33
|
+
Refinement Work now speaks in stable display codes. Refinement Stories and Change Requests receive persisted `RS###` and `CR###` codes, with migrations that backfill existing Workbench rows and unique indexes per journey. The runtime still keeps opaque internal ids for storage and CLI/debug cases, but Navigator-facing surfaces use the readable codes.
|
|
34
|
+
|
|
35
|
+
The Refinement cards were tightened around flow semantics. Overview, capture, query, and orientation surfaces no longer pretend to be lifecycle events. Real transitions still show ribbons, but static inspection surfaces stay quiet. Done items render after active/actionable work, and status marks use consistent colored square grammar.
|
|
36
|
+
|
|
37
|
+
Delivery Work received the same dogfooding pressure. Plan approval now explicitly begins implementation, plan and validation cards are more compact, artifact paths moved out of lifecycle cards into `ARTIFACTS_MATERIALIZED`, and flow-unit selection became a scope confirmation rather than duplicated state output. Validation acceptance can hand off to Debt Review, no-action Debt Review can hand off to Done confirmation, and Done now performs the coherence responsibility internally.
|
|
38
|
+
|
|
39
|
+
The roadmap/orientation split is now explicit. `ROADMAP_SNAPSHOT` remains the raw inspection surface for commands that ask to see the roadmap. `PROJECT_POSITION` is the narrative orientation surface used at Builder activation and at the end of Done. Done completion can now say what just moved and still leave the Navigator oriented toward the next pull.
|
|
40
|
+
|
|
41
|
+
A small runtime orientation improvement also entered this release: the status line now shows `development` or `test` when the runtime environment is not production. That change is intentionally included because this release was driven by local dogfooding and needs clearer environment awareness.
|
|
42
|
+
|
|
43
|
+
## Conscious Exclusions
|
|
44
|
+
|
|
45
|
+
- This release does not publish new Delivery Story functionality beyond the Builder/Ariad flow refinements described here.
|
|
46
|
+
- Refinement Work is not yet fully governed by Ariad method DSL data; CV20.DS11 records that as the next governance story.
|
|
47
|
+
- Refinement phase outputs are not yet materialized as durable project artifacts; CV20.DS12 records that artifact trail as future work.
|
|
48
|
+
- The global project-wide `mypy src` debt is not resolved here. Focused mypy on the touched Builder/runtime modules is clean, and the global diagnostics were confirmed to be preexisting.
|
|
49
|
+
- Push, tag creation, stable promotion, and GitHub Release publication remain explicit release operations, not Builder Done side effects.
|
|
50
|
+
|
|
51
|
+
## What We Learned
|
|
52
|
+
|
|
53
|
+
Dogfooding surfaces is different from proving state machines. The underlying lifecycle can be correct while the Navigator still feels lost. A good Builder surface should not expose every field the runtime knows; it should preserve the current decision, the boundary, and the next possible move.
|
|
54
|
+
|
|
55
|
+
The work also clarified the distinction between inspection and orientation. A roadmap table is valuable when the user asks for the roadmap. At an activation or Done boundary, the better surface is narrative position: the current focus, the movement that just happened, and the available path.
|
|
56
|
+
|
|
57
|
+
## Next Horizon
|
|
58
|
+
|
|
59
|
+
The next Builder horizon is governance and durability. CV20.DS11 should move Refinement lifecycle semantics into inspectable Ariad method data, and CV20.DS12 should give Refinement Work a durable artifact trail comparable to Delivery Story packages. Release and push policy also remain visible as a separate governance layer: Builder can close work, but public publication stays an explicit human-authorized operation.
|