kenaz 0.0.0-stage → 0.3.2
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/bin/kenaz.js +3 -0
- package/core/.agents/skills/remotion-best-practices/SKILL.md +61 -0
- package/core/.agents/skills/remotion-best-practices/rules/3d.md +86 -0
- package/core/.agents/skills/remotion-best-practices/rules/animations.md +27 -0
- package/core/.agents/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/core/.agents/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/core/.agents/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +103 -0
- package/core/.agents/skills/remotion-best-practices/rules/assets.md +78 -0
- package/core/.agents/skills/remotion-best-practices/rules/audio-visualization.md +198 -0
- package/core/.agents/skills/remotion-best-practices/rules/audio.md +169 -0
- package/core/.agents/skills/remotion-best-practices/rules/calculate-metadata.md +134 -0
- package/core/.agents/skills/remotion-best-practices/rules/can-decode.md +81 -0
- package/core/.agents/skills/remotion-best-practices/rules/charts.md +120 -0
- package/core/.agents/skills/remotion-best-practices/rules/compositions.md +154 -0
- package/core/.agents/skills/remotion-best-practices/rules/display-captions.md +184 -0
- package/core/.agents/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/core/.agents/skills/remotion-best-practices/rules/ffmpeg.md +38 -0
- package/core/.agents/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/core/.agents/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/core/.agents/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/core/.agents/skills/remotion-best-practices/rules/get-video-duration.md +60 -0
- package/core/.agents/skills/remotion-best-practices/rules/gifs.md +141 -0
- package/core/.agents/skills/remotion-best-practices/rules/images.md +134 -0
- package/core/.agents/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
- package/core/.agents/skills/remotion-best-practices/rules/light-leaks.md +73 -0
- package/core/.agents/skills/remotion-best-practices/rules/lottie.md +70 -0
- package/core/.agents/skills/remotion-best-practices/rules/maps.md +412 -0
- package/core/.agents/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
- package/core/.agents/skills/remotion-best-practices/rules/measuring-text.md +140 -0
- package/core/.agents/skills/remotion-best-practices/rules/parameters.md +109 -0
- package/core/.agents/skills/remotion-best-practices/rules/sequencing.md +118 -0
- package/core/.agents/skills/remotion-best-practices/rules/sfx.md +30 -0
- package/core/.agents/skills/remotion-best-practices/rules/subtitles.md +36 -0
- package/core/.agents/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/core/.agents/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/core/.agents/skills/remotion-best-practices/rules/timing.md +179 -0
- package/core/.agents/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
- package/core/.agents/skills/remotion-best-practices/rules/transitions.md +197 -0
- package/core/.agents/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
- package/core/.agents/skills/remotion-best-practices/rules/trimming.md +51 -0
- package/core/.agents/skills/remotion-best-practices/rules/videos.md +171 -0
- package/core/.agents/skills/remotion-best-practices/rules/voiceover.md +99 -0
- package/core/.agents/skills/supabase-postgres-best-practices/AGENTS.md +90 -0
- package/core/.agents/skills/supabase-postgres-best-practices/CLAUDE.md +1 -0
- package/core/.agents/skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/query-index-types.md +45 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/core/.agents/skills/supabase-postgres-best-practices/references/security-rls-performance.md +57 -0
- package/core/.agents/skills/typesafe-ai/LICENSE +21 -0
- package/core/.agents/skills/typesafe-ai/SKILL.md +149 -0
- package/core/.agents/skills/vercel-react-best-practices/AGENTS.md +2934 -0
- package/core/.agents/skills/vercel-react-best-practices/SKILL.md +136 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/core/.agents/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/core/.claude/agents/pcb-reviewer.md +146 -0
- package/core/.claude/commands/Amelia.md +5 -0
- package/core/.claude/commands/Ansuz.md +38 -0
- package/core/.claude/commands/Huginn.md +25 -0
- package/core/.claude/commands/agent-worker.md +168 -0
- package/core/.claude/commands/architect.md +24 -0
- package/core/.claude/commands/archive.md +24 -0
- package/core/.claude/commands/canary.md +17 -0
- package/core/.claude/commands/incident.md +15 -0
- package/core/.claude/commands/init.md +112 -0
- package/core/.claude/commands/legacy_dev.md +18 -0
- package/core/.claude/commands/product-review.md +131 -0
- package/core/.claude/commands/review.md +14 -0
- package/core/.claude/commands/security.md +15 -0
- package/core/.claude/commands/spec.md +22 -0
- package/core/.claude/commands/strategy.md +141 -0
- package/core/.claude/commands/sunny.md +1 -0
- package/core/.claude/commands//347/224/242/345/223/201.md +15 -0
- package/core/.claude/commands//347/224/242/345/223/201/346/252/242/350/246/226.md +129 -0
- package/core/.claude/commands//350/250/255/350/250/210.md +14 -0
- package/core/.claude/commands//350/251/225/344/274/260.md +16 -0
- package/core/.claude/commands//351/200/262/345/272/246.md +15 -0
- package/core/.claude/hooks/__tests__/substrate.test.js +122 -0
- package/core/.claude/hooks/__tests__/task-1866-cli-guard.test.js +193 -0
- package/core/.claude/hooks/__tests__/task-1977-dedupe-guard.test.js +125 -0
- package/core/.claude/hooks/__tests__/task-2087-mark-landed-idempotent.test.js +128 -0
- package/core/.claude/hooks/__tests__/task-2253-null-tip-marker-reuse.test.js +84 -0
- package/core/.claude/hooks/__tests__/task-2381-project-guard-walkup.test.js +53 -0
- package/core/.claude/hooks/_ansuz-conversation.js +183 -0
- package/core/.claude/hooks/_ansuz-conversation.test.js +90 -0
- package/core/.claude/hooks/_dedupe-guard.js +75 -0
- package/core/.claude/hooks/_peer-project-root.js +113 -0
- package/core/.claude/hooks/_peer-project-root.test.js +121 -0
- package/core/.claude/hooks/_peer-waiting-line.js +27 -0
- package/core/.claude/hooks/_project-guard.js +45 -0
- package/core/.claude/hooks/_run-user-prompt.js +134 -0
- package/core/.claude/hooks/_run-user-prompt.test.js +80 -0
- package/core/.claude/hooks/_session-identity.js +62 -0
- package/core/.claude/hooks/_session-pin.js +34 -0
- package/core/.claude/hooks/_session-pin.test.js +89 -0
- package/core/.claude/hooks/_signal-fence.js +17 -0
- package/core/.claude/hooks/_substrate-paths.js +95 -0
- package/core/.claude/hooks/_user-scope.js +23 -0
- package/core/.claude/hooks/ansuz-session-pin-via-turn-context.test.js +52 -0
- package/core/.claude/hooks/ansuz-session-pin.js +171 -0
- package/core/.claude/hooks/ansuz-session-pin.test.js +140 -0
- package/core/.claude/hooks/context-check.js +51 -0
- package/core/.claude/hooks/core-resolve.js +230 -0
- package/core/.claude/hooks/daemon-outbox-hook.js +139 -0
- package/core/.claude/hooks/fatigue-check.js +52 -0
- package/core/.claude/hooks/handoff-snapshot-on-commit.js +154 -0
- package/core/.claude/hooks/handoff-snapshot-on-decision.js +188 -0
- package/core/.claude/hooks/handoff-snapshot-on-question.js +158 -0
- package/core/.claude/hooks/handoff-staleness.js +197 -0
- package/core/.claude/hooks/jev-thalamus-context.js +17 -0
- package/core/.claude/hooks/jev-thalamus-context.test.js +41 -0
- package/core/.claude/hooks/lease-release.js +119 -0
- package/core/.claude/hooks/lease-touch.js +96 -0
- package/core/.claude/hooks/memory-guard.js +723 -0
- package/core/.claude/hooks/memory-guard.test.js +574 -0
- package/core/.claude/hooks/reflex-feedback.js +5 -0
- package/core/.claude/hooks/session-init.ps1 +49 -0
- package/core/.claude/hooks/sound-event.js +70 -0
- package/core/.claude/hooks/sound-event.sh +37 -0
- package/core/.claude/hooks/stream-delta.js +169 -0
- package/core/.claude/hooks/synapse-first-investigation.js +326 -0
- package/core/.claude/hooks/synapse-first-investigation.test.js +126 -0
- package/core/.claude/hooks/task-bridge.js +33 -0
- package/core/.claude/hooks/turn-context-peer.test.js +115 -0
- package/core/.claude/hooks/turn-context-session-line.test.js +69 -0
- package/core/.claude/hooks/turn-context.js +215 -0
- package/core/.claude/hooks/worktree-create.js +1232 -0
- package/core/.claude/hooks/worktree-remove.js +181 -0
- package/core/.claude/no-hooks.settings.json +3 -0
- package/core/.claude/settings.json +180 -0
- package/core/.claude/skills/adapt/SKILL.md +199 -0
- package/core/.claude/skills/animate/SKILL.md +190 -0
- package/core/.claude/skills/architect_agent/SKILL.md +408 -0
- package/core/.claude/skills/assessment_agent/SKILL.md +289 -0
- package/core/.claude/skills/audit/SKILL.md +129 -0
- package/core/.claude/skills/backend_agent/SKILL.md +407 -0
- package/core/.claude/skills/backend_engineer/SKILL.md +788 -0
- package/core/.claude/skills/bolder/SKILL.md +132 -0
- package/core/.claude/skills/clarify/SKILL.md +180 -0
- package/core/.claude/skills/code_reviewer/SKILL.md +305 -0
- package/core/.claude/skills/code_reviewer/patterns.yaml +85 -0
- package/core/.claude/skills/colorize/SKILL.md +158 -0
- package/core/.claude/skills/critique/SKILL.md +118 -0
- package/core/.claude/skills/delight/SKILL.md +317 -0
- package/core/.claude/skills/designer/SKILL.md +845 -0
- package/core/.claude/skills/dev_agent/SKILL.md +503 -0
- package/core/.claude/skills/developer/SKILL.md +792 -0
- package/core/.claude/skills/distill/SKILL.md +137 -0
- package/core/.claude/skills/extract/SKILL.md +95 -0
- package/core/.claude/skills/feature_agent/SKILL.md +303 -0
- package/core/.claude/skills/frontend-design/SKILL.md +127 -0
- package/core/.claude/skills/frontend-design/reference/color-and-contrast.md +132 -0
- package/core/.claude/skills/frontend-design/reference/interaction-design.md +123 -0
- package/core/.claude/skills/frontend-design/reference/motion-design.md +99 -0
- package/core/.claude/skills/frontend-design/reference/responsive-design.md +114 -0
- package/core/.claude/skills/frontend-design/reference/spatial-design.md +100 -0
- package/core/.claude/skills/frontend-design/reference/typography.md +131 -0
- package/core/.claude/skills/frontend-design/reference/ux-writing.md +107 -0
- package/core/.claude/skills/frontend_agent/SKILL.md +327 -0
- package/core/.claude/skills/harden/SKILL.md +358 -0
- package/core/.claude/skills/heimdall/SKILL.md +84 -0
- package/core/.claude/skills/huginn/SKILL.md +208 -0
- package/core/.claude/skills/incident_response/SKILL.md +315 -0
- package/core/.claude/skills/legacy_dev/SKILL.md +202 -0
- package/core/.claude/skills/normalize/SKILL.md +67 -0
- package/core/.claude/skills/onboard/SKILL.md +243 -0
- package/core/.claude/skills/optimization_agent/SKILL.md +340 -0
- package/core/.claude/skills/optimize/SKILL.md +269 -0
- package/core/.claude/skills/pcb-review/SKILL.md +39 -0
- package/core/.claude/skills/polish/SKILL.md +202 -0
- package/core/.claude/skills/product_manager/SKILL.md +1091 -0
- package/core/.claude/skills/qa_engineer/SKILL.md +1269 -0
- package/core/.claude/skills/quieter/SKILL.md +118 -0
- package/core/.claude/skills/remotion-best-practices/SKILL.md +61 -0
- package/core/.claude/skills/remotion-best-practices/rules/3d.md +86 -0
- package/core/.claude/skills/remotion-best-practices/rules/animations.md +27 -0
- package/core/.claude/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/core/.claude/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/core/.claude/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +103 -0
- package/core/.claude/skills/remotion-best-practices/rules/assets.md +78 -0
- package/core/.claude/skills/remotion-best-practices/rules/audio-visualization.md +198 -0
- package/core/.claude/skills/remotion-best-practices/rules/audio.md +169 -0
- package/core/.claude/skills/remotion-best-practices/rules/calculate-metadata.md +134 -0
- package/core/.claude/skills/remotion-best-practices/rules/can-decode.md +81 -0
- package/core/.claude/skills/remotion-best-practices/rules/charts.md +120 -0
- package/core/.claude/skills/remotion-best-practices/rules/compositions.md +154 -0
- package/core/.claude/skills/remotion-best-practices/rules/display-captions.md +184 -0
- package/core/.claude/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/core/.claude/skills/remotion-best-practices/rules/ffmpeg.md +38 -0
- package/core/.claude/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/core/.claude/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/core/.claude/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/core/.claude/skills/remotion-best-practices/rules/get-video-duration.md +60 -0
- package/core/.claude/skills/remotion-best-practices/rules/gifs.md +141 -0
- package/core/.claude/skills/remotion-best-practices/rules/images.md +134 -0
- package/core/.claude/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
- package/core/.claude/skills/remotion-best-practices/rules/light-leaks.md +73 -0
- package/core/.claude/skills/remotion-best-practices/rules/lottie.md +70 -0
- package/core/.claude/skills/remotion-best-practices/rules/maps.md +412 -0
- package/core/.claude/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
- package/core/.claude/skills/remotion-best-practices/rules/measuring-text.md +140 -0
- package/core/.claude/skills/remotion-best-practices/rules/parameters.md +109 -0
- package/core/.claude/skills/remotion-best-practices/rules/sequencing.md +118 -0
- package/core/.claude/skills/remotion-best-practices/rules/sfx.md +30 -0
- package/core/.claude/skills/remotion-best-practices/rules/subtitles.md +36 -0
- package/core/.claude/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/core/.claude/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/core/.claude/skills/remotion-best-practices/rules/timing.md +179 -0
- package/core/.claude/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
- package/core/.claude/skills/remotion-best-practices/rules/transitions.md +197 -0
- package/core/.claude/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
- package/core/.claude/skills/remotion-best-practices/rules/trimming.md +51 -0
- package/core/.claude/skills/remotion-best-practices/rules/videos.md +171 -0
- package/core/.claude/skills/remotion-best-practices/rules/voiceover.md +99 -0
- package/core/.claude/skills/security_agent/SKILL.md +312 -0
- package/core/.claude/skills/spec_optimizer/SKILL.md +299 -0
- package/core/.claude/skills/sre_agent/SKILL.md +1347 -0
- package/core/.claude/skills/sunny/SKILL.md +74 -0
- package/core/.claude/skills/supabase-postgres-best-practices/AGENTS.md +90 -0
- package/core/.claude/skills/supabase-postgres-best-practices/CLAUDE.md +1 -0
- package/core/.claude/skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/query-index-types.md +45 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/core/.claude/skills/supabase-postgres-best-practices/references/security-rls-performance.md +57 -0
- package/core/.claude/skills/synapse_maintain/SKILL.md +84 -0
- package/core/.claude/skills/ui-ux-pro-max/SKILL.md +377 -0
- package/core/.claude/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/core/.claude/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/core/.claude/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/core/.claude/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/core/.claude/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/core/.claude/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/core/.claude/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/core/.claude/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/core/.claude/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/core/.claude/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/core/.claude/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/core/.claude/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/core/.claude/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/core/.claude/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/core/.claude/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/core/.claude/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/core/.claude/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/core/.claude/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/core/.claude/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/core/.claude/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/core/.claude/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/core/.claude/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/core/.claude/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/core/.claude/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/core/.claude/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/core/.claude/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/core/.claude/skills/ui-ux-pro-max/scripts/search.py +106 -0
- package/core/.claude/skills/vercel-react-best-practices/AGENTS.md +2934 -0
- package/core/.claude/skills/vercel-react-best-practices/SKILL.md +136 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/core/.claude/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/core/.collaboration/README.md +258 -0
- package/core/.collaboration/cli/commands/assign.js +39 -0
- package/core/.collaboration/cli/commands/claim.js +33 -0
- package/core/.collaboration/cli/commands/complete.js +44 -0
- package/core/.collaboration/cli/commands/create.js +110 -0
- package/core/.collaboration/cli/commands/get.js +83 -0
- package/core/.collaboration/cli/commands/index.js +52 -0
- package/core/.collaboration/cli/commands/list.js +51 -0
- package/core/.collaboration/cli/commands/lock.js +45 -0
- package/core/.collaboration/cli/commands/rebuild.js +39 -0
- package/core/.collaboration/cli/commands/search.js +61 -0
- package/core/.collaboration/cli/commands/stats.js +61 -0
- package/core/.collaboration/cli/commands/transfer.js +41 -0
- package/core/.collaboration/cli/commands/unlock.js +48 -0
- package/core/.collaboration/cli/formatters/help-formatter.js +70 -0
- package/core/.collaboration/cli/formatters/index.js +7 -0
- package/core/.collaboration/cli/task-cli.js +46 -0
- package/core/.collaboration/cli/utils/arg-parser.js +74 -0
- package/core/.collaboration/cli/utils/git-user.js +25 -0
- package/core/.collaboration/cli/utils/index.js +9 -0
- package/core/.collaboration/cli/utils/output.js +10 -0
- package/core/.collaboration/config/default.yaml +189 -0
- package/core/.collaboration/core/conflict-resolver.js +461 -0
- package/core/.collaboration/core/conflict-resolver.test.js +389 -0
- package/core/.collaboration/core/id-generator.js +303 -0
- package/core/.collaboration/core/migrate-legacy.js +260 -0
- package/core/.collaboration/core/package.json +1 -0
- package/core/.collaboration/core/task-2257-estimated-hours.test.js +72 -0
- package/core/.collaboration/core/task-2260-dir-layout-move.test.js +60 -0
- package/core/.collaboration/core/task-2264-single-after-capture.test.js +61 -0
- package/core/.collaboration/core/task-2288-followups.test.js +121 -0
- package/core/.collaboration/core/task-api-json.js +211 -0
- package/core/.collaboration/core/task-api.js +3729 -0
- package/core/.collaboration/core/task-api.test.js +1268 -0
- package/core/.collaboration/docs/API.md +787 -0
- package/core/.collaboration/docs/ARCHITECTURE.md +596 -0
- package/core/.collaboration/docs/CLI.md +821 -0
- package/core/.collaboration/docs/FAQ.md +695 -0
- package/core/.collaboration/docs/MIGRATION.md +804 -0
- package/core/.collaboration/docs/examples/README.md +320 -0
- package/core/.collaboration/docs/examples/advanced-queries.js +261 -0
- package/core/.collaboration/docs/examples/basic-usage.js +184 -0
- package/core/.collaboration/docs/examples/team-workflow.js +352 -0
- package/core/.collaboration/hooks/README.md +70 -0
- package/core/.collaboration/hooks/config.json +10 -0
- package/core/.collaboration/hooks/install.js +400 -0
- package/core/.collaboration/hooks/post-merge.js +163 -0
- package/core/.collaboration/hooks/pre-commit.js +264 -0
- package/core/.collaboration/hooks/synapse-hook.js +486 -0
- package/core/.collaboration/hooks/synapse-hook.test.js +69 -0
- package/core/.failure/INDEX.yaml +231 -0
- package/core/.failure/agent-execution/FAIL-001-agent-no-output.yaml +391 -0
- package/core/.failure/agent-execution/FAIL-004_agent_platform_specific_commands.md +194 -0
- package/core/.failure/agent-execution/FAIL-005_background_agent_permission_denied.md +204 -0
- package/core/.failure/agent-execution/FAIL-007-pm-lead-wrong-team-invocation.yaml +0 -0
- package/core/.failure/agent-execution/FAIL-008-bypass-api-direct-yaml-write.yaml +94 -0
- package/core/.failure/agent-execution/FAIL-010-phase0-poem-format-skipped.yaml +28 -0
- package/core/.failure/agent-execution/FAIL-010-skipping-cognitive-checkpoint-after-verification.yaml +59 -0
- package/core/.failure/agent-execution/FAIL-012-grep-shortcut-during-investigation.yaml +85 -0
- package/core/.failure/agent-execution/FAIL-013-search-cwd-drift-and-case-mismatch.yaml +103 -0
- package/core/.failure/agent-execution/FAIL-014-shared-worktree-premature-death-verdict.yaml +35 -0
- package/core/.failure/agent-execution/FAIL-AUTO-TASK_1413.yaml +31 -0
- package/core/.failure/agent-execution/FAIL-AUTO-TASK_1427.yaml +41 -0
- package/core/.failure/agent-execution/FAIL-AUTO-TASK_904.yaml +30 -0
- package/core/.failure/agent-execution/README.md +68 -0
- package/core/.failure/architecture/FAIL-004_session_based_skill_recognition.md +128 -0
- package/core/.failure/architecture/FAIL-006-python-version-compatibility.yaml +445 -0
- package/core/.failure/architecture/README.md +87 -0
- package/core/.failure/code-quality/README.md +89 -0
- package/core/.failure/data-integrity/FAIL-002-json-bom.yaml +220 -0
- package/core/.failure/data-integrity/README.md +141 -0
- package/core/.failure/pipeline/FAIL-003-queue-pollution.yaml +335 -0
- package/core/.failure/pipeline/README.md +95 -0
- package/core/.failure/retired/FAIL-009-skipping-synapse-pulse-before-code-change.yaml +49 -0
- package/core/.failure/tools/README.md +230 -0
- package/core/.failure/tools/USAGE_GUIDE.md +323 -0
- package/core/.failure/tools/check_bom.js +101 -0
- package/core/.failure/tools/check_failures.ps1 +387 -0
- package/core/.failure/tools/fix_json.js +58 -0
- package/core/.failure/tools/log_failure.ps1 +474 -0
- package/core/.failure/tools/remove_bom.js +46 -0
- package/core/.failure/tools/validate_json.js +50 -0
- package/core/.formation/.episode-input.json +10 -0
- package/core/.formation/README.md +188 -0
- package/core/.formation/bifrost/CGDD_hook_lifecycle.js +575 -0
- package/core/.formation/bifrost/HOOK_PARITY_VERIFICATION.md +241 -0
- package/core/.formation/bifrost/README.md +71 -0
- package/core/.formation/bifrost/codex-doctor.js +106 -0
- package/core/.formation/bifrost/codex-doctor.test.js +51 -0
- package/core/.formation/bifrost/launch.js +510 -0
- package/core/.formation/bifrost/launch.test.js +217 -0
- package/core/.formation/bifrost/openai/codex-hook-shim.js +171 -0
- package/core/.formation/bifrost/openai/codex-hook-shim.test.js +107 -0
- package/core/.formation/bifrost/openai/models.json +36 -0
- package/core/.formation/bifrost/openai/relay.js +781 -0
- package/core/.formation/bifrost/openai/relay.test.js +71 -0
- package/core/.formation/bifrost/session.js +382 -0
- package/core/.formation/bifrost/session.test.js +121 -0
- package/core/.formation/bifrost/setup-codex.js +685 -0
- package/core/.formation/bifrost/setup-codex.test.js +102 -0
- package/core/.formation/bifrost/shared/ansuz-boot-policy.js +31 -0
- package/core/.formation/bifrost/shared/ansuz-boot-policy.test.js +40 -0
- package/core/.formation/bifrost/shared/boot-context.js +68 -0
- package/core/.formation/bifrost/shared/boot-context.test.js +67 -0
- package/core/.formation/bifrost/shared/codex-appserver.js +191 -0
- package/core/.formation/bifrost/shared/codex-injection.js +126 -0
- package/core/.formation/bifrost/shared/codex-session-registry.js +105 -0
- package/core/.formation/bifrost/shared/codex-session-registry.test.js +126 -0
- package/core/.formation/bifrost/shared/consolidate.js +286 -0
- package/core/.formation/bifrost/shared/stream-json.js +103 -0
- package/core/.formation/bifrost/shared/tools.js +278 -0
- package/core/.formation/bifrost/sync.js +142 -0
- package/core/.formation/briefs/scheduler-evolution.md +209 -0
- package/core/.formation/lead.yaml +118 -0
- package/core/.formation/legacy.bak/designer.yaml +57 -0
- package/core/.formation/legacy.bak/pm.yaml +57 -0
- package/core/.formation/legacy.bak/qa.yaml +57 -0
- package/core/.formation/legacy.bak/review.yaml +62 -0
- package/core/.formation/legacy.bak/scheduler.yaml +129 -0
- package/core/.formation/legacy.bak/sre.yaml +57 -0
- package/core/.formation/legion/forge.yaml +299 -0
- package/core/.formation/legion/hive.yaml +238 -0
- package/core/.formation/native/claude/README.md +61 -0
- package/core/.formation/native/claude/models.json +42 -0
- package/core/.formation/role-map.yaml +274 -0
- package/core/.formation/roles/_shared/modules/code_review.yaml +98 -0
- package/core/.formation/roles/_shared/modules/security.yaml +103 -0
- package/core/.formation/roles/_shared/modules/testing.yaml +14 -0
- package/core/.formation/roles/backend/role.yaml +93 -0
- package/core/.formation/roles/code_reviewer/role.yaml +102 -0
- package/core/.formation/roles/database_optimizer/role.yaml +107 -0
- package/core/.formation/roles/designer/role.yaml +66 -0
- package/core/.formation/roles/developer/role.yaml +75 -0
- package/core/.formation/roles/frontend/role.yaml +134 -0
- package/core/.formation/roles/incident_response/role.yaml +89 -0
- package/core/.formation/roles/qa/role.yaml +89 -0
- package/core/.formation/roles/security/role.yaml +87 -0
- package/core/.formation/roles/sre/role.yaml +66 -0
- package/core/.formation/skills/coordinator.yaml +52 -0
- package/core/.formation/solo/diagnosis.yaml +78 -0
- package/core/.formation/solo/strategy.yaml +121 -0
- package/core/.formation/spec/task_operations.parity.test.js +426 -0
- package/core/.formation/spec/task_operations.yaml +291 -0
- package/core/.formation/squad/blitz.yaml +192 -0
- package/core/.formation/squad/strategy-tribunal.yaml +354 -0
- package/core/.formation/squad/strategy.yaml +349 -0
- package/core/.formation/squad/sweep.yaml +208 -0
- package/core/.formation/tests/hello.txt +2 -0
- package/core/.formation/tools/__tests__/m1-claim-gate.test.js +175 -0
- package/core/.formation/tools/__tests__/m1-hmap-convid.test.js +216 -0
- package/core/.formation/tools/__tests__/release-lock.test.js +176 -0
- package/core/.formation/tools/__tests__/subagent-bifrost-guard.test.js +234 -0
- package/core/.formation/tools/__tests__/subagent-codex-harness.test.js +96 -0
- package/core/.formation/tools/__tests__/task-1863-claim-late-release.test.js +160 -0
- package/core/.formation/tools/__tests__/task-2265-singleton-identity.test.js +134 -0
- package/core/.formation/tools/__tests__/task-2281-singleton-readers.test.js +64 -0
- package/core/.formation/tools/__tests__/task2030-worktree-node-modules.test.js +221 -0
- package/core/.formation/tools/__tests__/task2067-worktree-branch-reuse.test.js +148 -0
- package/core/.formation/tools/alaya-gate.js +198 -0
- package/core/.formation/tools/analytics.js +172 -0
- package/core/.formation/tools/broadcast.js +103 -0
- package/core/.formation/tools/commit-sync.js +154 -0
- package/core/.formation/tools/coordinator.js +350 -0
- package/core/.formation/tools/dashboard-models-chain.test.js +60 -0
- package/core/.formation/tools/dispatch-cortex-context.test.js +52 -0
- package/core/.formation/tools/dispatch-detail/cross-project-worktree.md +40 -0
- package/core/.formation/tools/dispatch-detail/testing-module.md +53 -0
- package/core/.formation/tools/dispatch-detail/worktree-subagent-mode.md +72 -0
- package/core/.formation/tools/dispatch-dryrun.test.js +54 -0
- package/core/.formation/tools/dispatch-model-policy.test.js +165 -0
- package/core/.formation/tools/dispatch-notifier.js +84 -0
- package/core/.formation/tools/dispatch-registry.js +346 -0
- package/core/.formation/tools/dispatch.js +1931 -0
- package/core/.formation/tools/formations.js +1203 -0
- package/core/.formation/tools/forseti-verify.js +1170 -0
- package/core/.formation/tools/git-salvage.js +269 -0
- package/core/.formation/tools/guard-attribution.js +224 -0
- package/core/.formation/tools/headless-branch-recovery.test.js +64 -0
- package/core/.formation/tools/headless-dryrun.test.js +79 -0
- package/core/.formation/tools/headless-v2.js +659 -0
- package/core/.formation/tools/headless.js +1071 -0
- package/core/.formation/tools/integration.js +528 -0
- package/core/.formation/tools/jev-correction.js +214 -0
- package/core/.formation/tools/jev-correction.test.js +178 -0
- package/core/.formation/tools/legacy-scheduler.js +1994 -0
- package/core/.formation/tools/lib/exec-tree.js +92 -0
- package/core/.formation/tools/lib/exec-tree.test.js +82 -0
- package/core/.formation/tools/loader.js +190 -0
- package/core/.formation/tools/log-reader.js +232 -0
- package/core/.formation/tools/logger.js +273 -0
- package/core/.formation/tools/mcp-allowlist.test.js +40 -0
- package/core/.formation/tools/memory-loader.js +422 -0
- package/core/.formation/tools/merge-lock-heartbeat.test.js +35 -0
- package/core/.formation/tools/no-hooks.settings.json +3 -0
- package/core/.formation/tools/pool-status-push.js +121 -0
- package/core/.formation/tools/pool-status-push.test.js +165 -0
- package/core/.formation/tools/post-complete/bounded-http.js +102 -0
- package/core/.formation/tools/post-complete/bounded-http.test.js +130 -0
- package/core/.formation/tools/post-complete/cognitive.js +270 -0
- package/core/.formation/tools/post-complete/git-merge.js +2845 -0
- package/core/.formation/tools/post-complete/health.js +464 -0
- package/core/.formation/tools/post-complete/integration-gaps.js +98 -0
- package/core/.formation/tools/post-complete/outcome.js +874 -0
- package/core/.formation/tools/post-complete/staging.js +390 -0
- package/core/.formation/tools/post-complete/subagent-transcript-stats.js +460 -0
- package/core/.formation/tools/post-complete/subagent-transcript-stats.test.js +680 -0
- package/core/.formation/tools/post-complete/task1536.test.js +627 -0
- package/core/.formation/tools/post-complete/task1543.test.js +261 -0
- package/core/.formation/tools/post-complete/task1876.test.js +287 -0
- package/core/.formation/tools/post-complete/task1957.test.js +293 -0
- package/core/.formation/tools/post-complete/task1997.test.js +401 -0
- package/core/.formation/tools/post-complete/task2028.test.js +232 -0
- package/core/.formation/tools/post-complete/task2029.test.js +275 -0
- package/core/.formation/tools/post-complete/task2036.test.js +330 -0
- package/core/.formation/tools/post-complete/task2038.test.js +246 -0
- package/core/.formation/tools/post-complete/task2071.test.js +231 -0
- package/core/.formation/tools/post-complete/task2233.test.js +100 -0
- package/core/.formation/tools/post-complete/task2240.test.js +134 -0
- package/core/.formation/tools/post-complete/task2244.test.js +199 -0
- package/core/.formation/tools/post-complete/task2255.test.js +28 -0
- package/core/.formation/tools/post-complete/task2268.test.js +106 -0
- package/core/.formation/tools/post-complete/task2341.test.js +74 -0
- package/core/.formation/tools/post-complete/task2345.test.js +38 -0
- package/core/.formation/tools/post-complete/testing.js +482 -0
- package/core/.formation/tools/post-complete/wish.js +177 -0
- package/core/.formation/tools/post-complete/worktree-rescue.test.js +283 -0
- package/core/.formation/tools/post-complete.js +3660 -0
- package/core/.formation/tools/post-complete.test.js +1002 -0
- package/core/.formation/tools/pre-dispatch-snapshot.test.js +328 -0
- package/core/.formation/tools/process-state.js +33 -0
- package/core/.formation/tools/prompt.js +2183 -0
- package/core/.formation/tools/prompt.test.js +875 -0
- package/core/.formation/tools/remote-conflict.js +98 -0
- package/core/.formation/tools/revert-daemon-state.js +162 -0
- package/core/.formation/tools/route-audit.test.js +55 -0
- package/core/.formation/tools/runner.js +1332 -0
- package/core/.formation/tools/supabase-client.js +104 -0
- package/core/.formation/tools/task-sync.js +236 -0
- package/core/.formation/tools/task-utils.js +344 -0
- package/core/.formation/tools/task2028-headless-worktree.test.js +112 -0
- package/core/.formation/tools/test-drift.js +148 -0
- package/core/.formation/tools/tests/headless-mcp-args-plumbing.test.js +123 -0
- package/core/.formation/tools/tests/relay-mcp-overrides.test.js +112 -0
- package/core/.formation/tools/transcript-recorder.js +574 -0
- package/core/.formation/tools/utils-claude-cmd.test.js +28 -0
- package/core/.formation/tools/utils-worktree-config.test.js +44 -0
- package/core/.formation/tools/utils.js +1020 -0
- package/core/.formation/tools/verify-acceptance.js +585 -0
- package/core/.formation/tools/worktree-leak.test.js +162 -0
- package/core/.formation/tools/worktree-reclaim.js +259 -0
- package/core/.formation/tools/worktree-reclaim.test.js +182 -0
- package/core/.formation/tools/yggdrasil-local.js +97 -0
- package/core/.formation/unit/do.yaml +78 -0
- package/core/.formation/unit/heimdall.yaml +96 -0
- package/core/.formation/unit/plan.yaml +67 -0
- package/core/.formation/unit/think.yaml +58 -0
- package/core/.kenaz/MUNINN_SNAPSHOT9_EPISODE.json +32 -0
- package/core/.kenaz/MUNINN_SNAPSHOT9_RUNE.json +23 -0
- package/core/.kenaz/MUNINN_SNAPSHOT9_SUMMARY.md +89 -0
- package/core/.kenaz/ash_TASK_1428-20260507.json +14 -0
- package/core/.kenaz/cache/native-models/claude.json +42 -0
- package/core/.kenaz/claude-hooks-manifest.json +119 -0
- package/core/.kenaz/cortex.yaml +100 -0
- package/core/.kenaz/curator_state.json +7 -0
- package/core/.kenaz/dashboard-quick-prompts.json +9 -0
- package/core/.kenaz/designs/METAPLASTICITY_CONFIDENCE_DESIGN.md +537 -0
- package/core/.kenaz/designs/REFLEX_INITIATOR_DESIGN.md +501 -0
- package/core/.kenaz/designs/TASK_1385_handoff_mcp_design.md +426 -0
- package/core/.kenaz/designs/TASK_932_hippocampus_consolidation.md +103 -0
- package/core/.kenaz/designs/TASK_934_efe_signal_engine.md +97 -0
- package/core/.kenaz/designs/TASK_935_self_evolution_framework.md +154 -0
- package/core/.kenaz/designs/VISION_cognitive_architecture_roadmap.md +159 -0
- package/core/.kenaz/designs/metaplasticity_simulation_results.json +696 -0
- package/core/.kenaz/docs/INDEX.md +214 -0
- package/core/.kenaz/docs/README.md +290 -0
- package/core/.kenaz/docs/registry.json +962 -0
- package/core/.kenaz/docs/schema.json +144 -0
- package/core/.kenaz/docs/tools/GIT_HOOK_GUIDE.md +203 -0
- package/core/.kenaz/docs/tools/RAG_INTEGRATION_GUIDE.md +306 -0
- package/core/.kenaz/docs/tools/README.md +99 -0
- package/core/.kenaz/docs/tools/TIME_ESTIMATION_GUIDE.md +299 -0
- package/core/.kenaz/docs/tools/package-lock.json +618 -0
- package/core/.kenaz/docs/tools/package.json +34 -0
- package/core/.kenaz/docs/tools/src/cli.ts +365 -0
- package/core/.kenaz/docs/tools/src/field-extractor.ts +152 -0
- package/core/.kenaz/docs/tools/src/index.ts +14 -0
- package/core/.kenaz/docs/tools/src/registry.ts +664 -0
- package/core/.kenaz/docs/tools/src/search.ts +195 -0
- package/core/.kenaz/docs/tools/src/types.ts +88 -0
- package/core/.kenaz/docs/tools/test-git-hook.sh +79 -0
- package/core/.kenaz/docs/tools/tsconfig.json +20 -0
- package/core/.kenaz/docs/tools/verify.sh +106 -0
- package/core/.kenaz/episodes/SESSION_ansuz-prompt-1785087304784.yaml +68 -0
- package/core/.kenaz/huginn-exploration.json +8 -0
- package/core/.kenaz/knowledge/ladybug_2c51da1e_shadow_file_frame_group.patch +163 -0
- package/core/.kenaz/knowledge/ladybug_30cf85690e_shadow_page_read_during_checkpoint.patch +393 -0
- package/core/.kenaz/knowledge/ladybug_7a17858d3a_node_group_delete_lock.patch +102 -0
- package/core/.kenaz/knowledge/ladybug_926a0ba1_column_checkpoint.patch +412 -0
- package/core/.kenaz/knowledge/ladybug_a346c4c4b6_pk_index_header_pages.patch +144 -0
- package/core/.kenaz/knowledge/ladybug_ba5f38815b_csr_node_group.patch +86 -0
- package/core/.kenaz/main-memory/README.md +230 -0
- package/core/.kenaz/main-memory/kenaz/cortex/001_cortex_overview.md +168 -0
- package/core/.kenaz/main-memory/kenaz/cortex/001_rag_engine_overview.md +30 -0
- package/core/.kenaz/main-memory/kenaz/memory-system/001_three_tier_architecture.md +361 -0
- package/core/.kenaz/main-memory/kenaz/pipeline/001_task_execution_flow.md +117 -0
- package/core/.kenaz/main-memory/kenaz/pipeline/001_task_granularity.md +154 -0
- package/core/.kenaz/main-memory/kenaz/pipeline/002_team_priority.md +51 -0
- package/core/.kenaz/main-memory/kenaz/pipeline/003_feature_id_system.md +46 -0
- package/core/.kenaz/main-memory/kenaz/rules/001_gen_007_self_containment.md +108 -0
- package/core/.kenaz/main-memory/kenaz/rules/001_rule_priority_system.md +121 -0
- package/core/.kenaz/main-memory/kenaz/rules/002_agt_006_pre_check.md +0 -0
- package/core/.kenaz/main-memory/kenaz/rules/003_ppl_002_task_archival.md +48 -0
- package/core/.kenaz/main-memory/kenaz/system/001_dual_track_task_system.md +197 -0
- package/core/.kenaz/main-memory/knowledge/patterns/001_json_bom_issue.md +78 -0
- package/core/.kenaz/main-memory/knowledge/patterns/001_leader_worker_pattern.md +0 -0
- package/core/.kenaz/main-memory/knowledge/patterns/002_scope_path_conflict.md +115 -0
- package/core/.kenaz/main-memory/knowledge/patterns/002_task_dependency_resolution.md +223 -0
- package/core/.kenaz/main-memory/knowledge/patterns/003_question_protocol.md +242 -0
- package/core/.kenaz/main-memory/knowledge/patterns/004_user_insight_value.md +111 -0
- package/core/.kenaz/main-memory/knowledge/patterns/005_file_lock_pattern.md +274 -0
- package/core/.kenaz/main-memory/knowledge/references/001_ppl_rules.md +28 -0
- package/core/.kenaz/main-memory/knowledge/solutions/001_json_bom_issue.md +137 -0
- package/core/.kenaz/main-memory/knowledge/solutions/001_team_invocation.md +0 -0
- package/core/.kenaz/main-memory/knowledge/solutions/002_passive_monitoring.md +0 -0
- package/core/.kenaz/main-memory/knowledge/solutions/003_windows_file_race_condition.md +239 -0
- package/core/.kenaz/main-memory/registry.json +326 -0
- package/core/.kenaz/main-memory/version.yaml +58 -0
- package/core/.kenaz/muninn_episode_write.ps1 +17 -0
- package/core/.kenaz/muninn_snapshot11_rune_candidates.md +63 -0
- package/core/.kenaz/muninn_snapshot1_rune_candidates.md +49 -0
- package/core/.kenaz/orphan_audit_2026-05.md +181 -0
- package/core/.kenaz/ownership.yaml +155 -0
- package/core/.kenaz/peer.yaml +72 -0
- package/core/.kenaz/project.yaml +62 -0
- package/core/.kenaz/rune_ansuz_literature_validation_strategy.md +40 -0
- package/core/.kenaz/rune_efe_active_inference_validation.md +36 -0
- package/core/.kenaz/rune_yggdrasil_filesystem_scoped_project.md +41 -0
- package/core/.kenaz/rune_yggdrasil_project_identity_folder_name.md +41 -0
- package/core/.kenaz/rune_yggdrasil_relay_protocol_project_mismatch.md +39 -0
- package/core/.kenaz/runes_TASK_1428.json +57 -0
- package/core/.kenaz/specialist/ansuz_motivational_state.schema.json +138 -0
- package/core/.kenaz/specialist/ansuz_rules.yaml +241 -0
- package/core/.kenaz/specialist/ansuz_session_handoff.schema.json +128 -0
- package/core/.kenaz/specialist/chart_TASK_1657.json +50 -0
- package/core/.kenaz/specialist/cognitive-hub-e2e.test.js +494 -0
- package/core/.kenaz/specialist/daemon-manifest.yaml +168 -0
- package/core/.kenaz/specialist/empty_ac_audit_report.md +63 -0
- package/core/.kenaz/specialist/episode_muninn_completion_1785056865691.json +91 -0
- package/core/.kenaz/specialist/field_report_watermark.json +1 -0
- package/core/.kenaz/specialist/gc1826_driver.js +118 -0
- package/core/.kenaz/specialist/heimdall_proposal_1017c07f.json +13 -0
- package/core/.kenaz/specialist/heimdall_proposal_3dfaa8b9.json +12 -0
- package/core/.kenaz/specialist/heimdall_proposal_57af18f9.json +15 -0
- package/core/.kenaz/specialist/heimdall_proposal_57b1aa1b.json +14 -0
- package/core/.kenaz/specialist/heimdall_proposal_5a3c9473.json +13 -0
- package/core/.kenaz/specialist/identity_verdicts/TASK_1073.json +75 -0
- package/core/.kenaz/specialist/identity_verdicts/TASK_TEST.json +77 -0
- package/core/.kenaz/specialist/memory_guard_fired.json +1 -0
- package/core/.kenaz/specialist/memory_guard_trigger_cache.json +1 -0
- package/core/.kenaz/specialist/memory_source_priority.yaml +260 -0
- package/core/.kenaz/specialist/motivational_state.schema.json +62 -0
- package/core/.kenaz/specialist/prompt_1775.txt +317 -0
- package/core/.kenaz/specialist/prompt_1776.txt +326 -0
- package/core/.kenaz/specialist/prompt_1791.txt +320 -0
- package/core/.kenaz/specialist/prompt_1792.txt +320 -0
- package/core/.kenaz/specialist/prompt_1795.txt +281 -0
- package/core/.kenaz/specialist/prompt_1813.txt +332 -0
- package/core/.kenaz/specialist/prompt_1814.txt +401 -0
- package/core/.kenaz/specialist/prompt_1815.txt +394 -0
- package/core/.kenaz/specialist/prompt_1816.txt +437 -0
- package/core/.kenaz/specialist/prompt_1818.txt +361 -0
- package/core/.kenaz/specialist/prompt_1819.txt +421 -0
- package/core/.kenaz/specialist/prompt_1821.txt +345 -0
- package/core/.kenaz/specialist/prompt_1822.txt +313 -0
- package/core/.kenaz/specialist/prompt_1824.txt +348 -0
- package/core/.kenaz/specialist/prompt_1826.txt +388 -0
- package/core/.kenaz/specialist/retired_organs/README.md +58 -0
- package/core/.kenaz/specialist/rune_calibration_poc.md +175 -0
- package/core/.kenaz/specialist/rune_efe_salience_gap.md +21 -0
- package/core/.kenaz/specialist/rune_ember_autonomous_dispatch_gate.md +24 -0
- package/core/.kenaz/specialist/rune_post_dispatch_verification_pattern.md +31 -0
- package/core/.kenaz/specialist/rune_surprise_proxy_improvement.md +28 -0
- package/core/.kenaz/specialist/rune_worktree_dispatch_pattern.md +31 -0
- package/core/.kenaz/specialist/rune_yaml_filter_desync_fix.md +26 -0
- package/core/.kenaz/specialist/rune_yggdrasil_project_identity_folder_name.md +24 -0
- package/core/.kenaz/specialist/sessions/chart_TASK_1599.json +41 -0
- package/core/.kenaz/specialist/sessions/hmap_028aa781-aad2-48c0-9a61-5540565d4a7f.json +5 -0
- package/core/.kenaz/specialist/sessions/hmap_20210387-0c64-400c-9d0a-53042a0cbd89.json +5 -0
- package/core/.kenaz/specialist/sessions/hmap_c1375c5d-fd9f-44bd-a83e-353ecbb0392f.json +5 -0
- package/core/.kenaz/specialist/sessions/scratch_028aa781-aad2-48c0-9a61-5540565d4a7f.json +6 -0
- package/core/.kenaz/specialist/sessions/scratch_0acc0fb3-24f9-453f-9e92-6ef1cdf03a7c.json +6 -0
- package/core/.kenaz/specialist/sessions/scratch_20210387-0c64-400c-9d0a-53042a0cbd89.json +6 -0
- package/core/.kenaz/specialist/sessions/scratch_2f10623e-b7a1-4647-905e-9dc7c4d99f9c.json +6 -0
- package/core/.kenaz/specialist/sessions/scratch_5a38b62d-608a-488c-82f0-7e47e95e0905.json +6 -0
- package/core/.kenaz/specialist/sessions/scratch_5d9758ef-d9b6-4ffe-a017-3ed26d0a313b.json +6 -0
- package/core/.kenaz/specialist/sessions/scratch_c1375c5d-fd9f-44bd-a83e-353ecbb0392f.json +6 -0
- package/core/.kenaz/specialist/sessions/scratch_c9f3c711-b73d-4fcd-ad2a-7b2bc024ee77.json +6 -0
- package/core/.kenaz/specialist/sessions/scratch_e72e5274-1c81-4655-a05a-f87d1ecb2917.json +6 -0
- package/core/.kenaz/specialist/sessions/scratch_f740cdbe-f756-41fc-98fb-2b1413d51901.json +6 -0
- package/core/.kenaz/specialist/t1777_probe.txt +1 -0
- package/core/.kenaz/specialist/task1825_update.json +43 -0
- package/core/.kenaz/specialist/task1827_update.json +43 -0
- package/core/.kenaz/specialist/task1828_update.json +43 -0
- package/core/.kenaz/specialist/taskgen/consolidation_i.json +38 -0
- package/core/.kenaz/specialist/taskgen/csharp_a.json +44 -0
- package/core/.kenaz/specialist/taskgen/csharp_b.json +40 -0
- package/core/.kenaz/specialist/taskgen/embedding_e.json +34 -0
- package/core/.kenaz/specialist/taskgen/hygiene_fg.json +39 -0
- package/core/.kenaz/specialist/taskgen/pathology_h.json +36 -0
- package/core/.kenaz/specialist/taskgen/unity_noise_d.json +38 -0
- package/core/.kenaz/specialist/taskgen/visibility_c.json +38 -0
- package/core/.kenaz/specialist/verify_1837.js +302 -0
- package/core/.kenaz/specialist/verify_1838.js +124 -0
- package/core/.kenaz/tmp/heimdall_proposal_fc7e0944.json +10 -0
- package/core/.kenaz/tmp_heimdall_proposal_8d3e392.json +13 -0
- package/core/.kenaz/tmp_props.json +1 -0
- package/core/.kenaz/tmp_sounddrop_t1_prompt.txt +371 -0
- package/core/.kenaz/user_model.schema.json +107 -0
- package/core/.matrix/README.md +257 -0
- package/core/.matrix/index.matrix +5 -0
- package/core/.mcp.json +8 -0
- package/core/.prefrontal/.gitkeep +0 -0
- package/core/.prefrontal/proposals/.gitkeep +0 -0
- package/core/.rule/INDEX.yaml +99 -0
- package/core/.rule/MECHANIZED.md +61 -0
- package/core/.rule/code/README.md +211 -0
- package/core/.rule/code/backend.yaml +294 -0
- package/core/.rule/code/checklist.yaml +258 -0
- package/core/.rule/code/maintainability.yaml +227 -0
- package/core/.rule/code/naming.yaml +106 -0
- package/core/.rule/code/principles.yaml +71 -0
- package/core/.rule/code/reusability.yaml +192 -0
- package/core/.rule/code/structure.yaml +218 -0
- package/core/.rule/code/style.yaml +197 -0
- package/core/.rule/design/ui.yaml +79 -0
- package/core/.rule/general/agent-workflow.yaml +572 -0
- package/core/.rule/general/cortex-memory-recall.yaml +446 -0
- package/core/.rule/general/cortex-tools.yaml +181 -0
- package/core/.rule/general/cross-platform.yaml +107 -0
- package/core/.rule/general/ddx-synapse-stack.yaml +162 -0
- package/core/.rule/general/file-size-threshold.yaml +45 -0
- package/core/.rule/general/identity-contract.schema.yaml +251 -0
- package/core/.rule/general/memory-language.yaml +67 -0
- package/core/.rule/general/memory-source-priority.yaml +207 -0
- package/core/.rule/general/pipeline.yaml +246 -0
- package/core/.rule/general/principles.yaml +77 -0
- package/core/.rule/general/project-self-containment.yaml +253 -0
- package/core/.rule/general/rust-verify-target.yaml +80 -0
- package/core/.rule/general/specialist-identity-contract.yaml +153 -0
- package/core/.rule/general/sunny-access-control.yaml +60 -0
- package/core/.rule/general/synapse-code-intelligence.yaml +375 -0
- package/core/.rule/general/synapse-cognitive-fusion.yaml +301 -0
- package/core/.rule/general/system-invariants.yaml +248 -0
- package/core/.rule/general/task-pool-routing.yaml +102 -0
- package/core/.rule/general/worktree-isolation.yaml +79 -0
- package/core/.rule/pipeline/PPL-002-completed-task-archival.yaml +528 -0
- package/core/.rule/pipeline/auto-update.yaml +282 -0
- package/core/.rule/pipeline/task-execution.yaml +368 -0
- package/core/.rule/tools/check-permissions.js +197 -0
- package/core/.specialist/Amelia/README.md +329 -0
- package/core/.specialist/Amelia/capability.yaml +386 -0
- package/core/.specialist/Amelia/knowledge.yaml +217 -0
- package/core/.specialist/Amelia/principles.yaml +10 -0
- package/core/.specialist/Amelia/rule.yaml +79 -0
- package/core/.specialist/Amelia/workflow.yaml +241 -0
- package/core/.specialist/Ansuz/HEURISTIC_BOOT_ROUTING.md +39 -0
- package/core/.specialist/Ansuz/ROUTING.md +35 -0
- package/core/.specialist/Ansuz/RULES.md +79 -0
- package/core/.specialist/Ansuz/SYSTEM_DOC.md +611 -0
- package/core/.specialist/Ansuz/VERIFY.md +38 -0
- package/core/.specialist/Ansuz/capability.yaml +338 -0
- package/core/.specialist/Ansuz/cognitive_principles.yaml +62 -0
- package/core/.specialist/Ansuz/concepts/agent_types.yaml +22 -0
- package/core/.specialist/Ansuz/concepts/autonomous_agenda.yaml +170 -0
- package/core/.specialist/Ansuz/concepts/autonomy_contract.yaml +126 -0
- package/core/.specialist/Ansuz/concepts/boot_ritual.yaml +107 -0
- package/core/.specialist/Ansuz/concepts/boot_rules_summary.yaml +16 -0
- package/core/.specialist/Ansuz/concepts/capability_pointers.yaml +21 -0
- package/core/.specialist/Ansuz/concepts/cognitive_fluency_contract.yaml +264 -0
- package/core/.specialist/Ansuz/concepts/cognitive_systems_competence_map.yaml +14 -0
- package/core/.specialist/Ansuz/concepts/cognitive_systems_hippocampus.yaml +14 -0
- package/core/.specialist/Ansuz/concepts/cognitive_systems_overview.yaml +27 -0
- package/core/.specialist/Ansuz/concepts/cognitive_systems_serendipity.yaml +14 -0
- package/core/.specialist/Ansuz/concepts/cognitive_systems_turn_context.yaml +13 -0
- package/core/.specialist/Ansuz/concepts/commitment_layer.yaml +150 -0
- package/core/.specialist/Ansuz/concepts/completion_tracking.yaml +29 -0
- package/core/.specialist/Ansuz/concepts/deep_knowledge_pointers.yaml +28 -0
- package/core/.specialist/Ansuz/concepts/evolvable_guardrails.yaml +20 -0
- package/core/.specialist/Ansuz/concepts/fatigue_handoff.yaml +84 -0
- package/core/.specialist/Ansuz/concepts/formation_quick_ref.yaml +28 -0
- package/core/.specialist/Ansuz/concepts/guardrails_immutable.yaml +31 -0
- package/core/.specialist/Ansuz/concepts/identity.yaml +48 -0
- package/core/.specialist/Ansuz/concepts/interaction_protocol.yaml +42 -0
- package/core/.specialist/Ansuz/concepts/meta_evolvable_tier.yaml +28 -0
- package/core/.specialist/Ansuz/concepts/mindset.yaml +18 -0
- package/core/.specialist/Ansuz/concepts/phase9_verification.yaml +21 -0
- package/core/.specialist/Ansuz/concepts/phase_protocol.yaml +66 -0
- package/core/.specialist/Ansuz/concepts/principles.yaml +65 -0
- package/core/.specialist/Ansuz/concepts/self_evolution_overview.yaml +53 -0
- package/core/.specialist/Ansuz/concepts/task_first_protocol.yaml +7 -0
- package/core/.specialist/Ansuz/concepts/task_pool.yaml +119 -0
- package/core/.specialist/Ansuz/concepts/task_system.yaml +22 -0
- package/core/.specialist/Ansuz/concepts/write_verification.yaml +26 -0
- package/core/.specialist/Ansuz/core.yaml +224 -0
- package/core/.specialist/Ansuz/decisions/ADR-requirement-graph-layer.md +390 -0
- package/core/.specialist/Ansuz/elixir.yaml +70 -0
- package/core/.specialist/Ansuz/exo_cortex_tools.yaml +13 -0
- package/core/.specialist/Ansuz/experiments/boot_ablation_replay.js +197 -0
- package/core/.specialist/Ansuz/guards/blind_spot_guards.yaml +28 -0
- package/core/.specialist/Ansuz/guards/lesson_guards.yaml +203 -0
- package/core/.specialist/Ansuz/identity_contract.yaml +375 -0
- package/core/.specialist/Ansuz/knowledge.yaml +284 -0
- package/core/.specialist/Ansuz/modules/amelia_review.yaml +112 -0
- package/core/.specialist/Ansuz/modules/ddx.yaml +47 -0
- package/core/.specialist/Ansuz/modules/design_checks.yaml +47 -0
- package/core/.specialist/Ansuz/modules/identity_verification.yaml +119 -0
- package/core/.specialist/Ansuz/modules/loop_guard.yaml +36 -0
- package/core/.specialist/Ansuz/modules/prevention.yaml +84 -0
- package/core/.specialist/Ansuz/modules/prophecy.yaml +95 -0
- package/core/.specialist/Ansuz/modules/pulse_empty.yaml +36 -0
- package/core/.specialist/Ansuz/modules/qa_intake.yaml +29 -0
- package/core/.specialist/Ansuz/modules/recall.yaml +45 -0
- package/core/.specialist/Ansuz/principles.yaml +31 -0
- package/core/.specialist/Ansuz/research/EMBER_architecture_comparison.md +142 -0
- package/core/.specialist/Ansuz/rule.yaml +97 -0
- package/core/.specialist/Ansuz/self_model_seed.backup.json +100 -0
- package/core/.specialist/Ansuz/self_model_seed.json +100 -0
- package/core/.specialist/Ansuz/self_model_seed.sha256 +1 -0
- package/core/.specialist/Ansuz/tools/ansuz-handoff-snapshot.js +626 -0
- package/core/.specialist/Ansuz/tools/ansuz-handoff.js +437 -0
- package/core/.specialist/Ansuz/tools/ansuz-sdk-runner.js +1254 -0
- package/core/.specialist/Ansuz/tools/ansuz-sdk-runner.test.js +137 -0
- package/core/.specialist/Ansuz/tools/ansuz-state.js +288 -0
- package/core/.specialist/Ansuz/tools/bootstrap-anchors.js +289 -0
- package/core/.specialist/Ansuz/tools/handoff-freshness-milestone.test.js +73 -0
- package/core/.specialist/Ansuz/tools/handoff-resolver.js +207 -0
- package/core/.specialist/Ansuz/tools/handoff-session-identity.test.js +333 -0
- package/core/.specialist/Ansuz/tools/handoff-snapshot-args.test.js +25 -0
- package/core/.specialist/Ansuz/tools/install-claude-hooks.js +354 -0
- package/core/.specialist/Ansuz/tools/install-claude-hooks.test.js +110 -0
- package/core/.specialist/Ansuz/tools/package.json +16 -0
- package/core/.specialist/Ansuz/tools/preservation-coordinator.js +504 -0
- package/core/.specialist/Ansuz/tools/verify-and-land.js +1012 -0
- package/core/.specialist/Ansuz/tools/verify-and-land.test.js +1099 -0
- package/core/.specialist/Ansuz/workflow.yaml +1273 -0
- package/core/.specialist/Forseti/capability.yaml +210 -0
- package/core/.specialist/Forseti/core.yaml +176 -0
- package/core/.specialist/Forseti/principles.yaml +88 -0
- package/core/.specialist/Forseti/rule.yaml +86 -0
- package/core/.specialist/Heimdall/SKILL.md +65 -0
- package/core/.specialist/Heimdall/capability.yaml +134 -0
- package/core/.specialist/Heimdall/core.yaml +275 -0
- package/core/.specialist/Heimdall/principles.yaml +66 -0
- package/core/.specialist/Heimdall/rule.yaml +68 -0
- package/core/.specialist/Huginn/capability.yaml +234 -0
- package/core/.specialist/Huginn/core.yaml +482 -0
- package/core/.specialist/Huginn/principles.yaml +57 -0
- package/core/.specialist/Huginn/rule.yaml +121 -0
- package/core/.specialist/REFLECTION_TO_CONTROL.md +347 -0
- package/core/.specialist/ansuz_session_handoff.json +96 -0
- package/core/.specialist/experiments/rg_benchmark.js +523 -0
- package/core/.specialist/experiments/rg_benchmark_results.json +27 -0
- package/core/.specialist/shared/cognitive-primer.md +15 -0
- package/core/.specialist/shared/guard_schema.json +290 -0
- package/core/.specialist/shared/principles.yaml +213 -0
- package/core/.specialist/tests/runtime-discovery/README.md +224 -0
- package/core/.specialist/tests/runtime-discovery/active-project-polling.test.js +495 -0
- package/core/.specialist/tests/runtime-discovery/port-binding.test.js +418 -0
- package/core/.specialist/tests/runtime-discovery/resolver-priority.test.js +693 -0
- package/core/.specialist/tests/runtime-discovery/resolver-skip-on-invalid.test.js +467 -0
- package/core/.specialist/tests/runtime-discovery/resolver-symmetry.test.js +679 -0
- package/core/.specialist/tests/runtime-discovery/tail-cli-project-path.test.js +231 -0
- package/core/.specialist/tools/MEMORY_RECALL_TRIGGERS.md +156 -0
- package/core/.specialist/tools/README.md +129 -0
- package/core/.specialist/tools/__tests__/freya-cli-contract.test.js +156 -0
- package/core/.specialist/tools/__tests__/task-1863-boot-lease-reuse.test.js +99 -0
- package/core/.specialist/tools/__tests__/task-1917-orphan-detection.test.js +175 -0
- package/core/.specialist/tools/__tests__/task-1977-banner-cap.test.js +129 -0
- package/core/.specialist/tools/__tests__/task-1983-lease-project-path.test.js +96 -0
- package/core/.specialist/tools/__tests__/task-2218-boot-session-id.test.js +118 -0
- package/core/.specialist/tools/__tests__/task-2222-session-identity-interleave.test.js +203 -0
- package/core/.specialist/tools/__tests__/task-2246-reap-honesty.test.js +96 -0
- package/core/.specialist/tools/__tests__/task-2254-handoff-archive-contract.test.js +60 -0
- package/core/.specialist/tools/__tests__/task-2272-open-card-status-quote.test.js +26 -0
- package/core/.specialist/tools/__tests__/task-2374-usage-counter.test.js +34 -0
- package/core/.specialist/tools/ansuz-boot-fast.js +1120 -0
- package/core/.specialist/tools/ansuz-boot-fast.test.js +705 -0
- package/core/.specialist/tools/canary.js +501 -0
- package/core/.specialist/tools/context-injection.js +395 -0
- package/core/.specialist/tools/design-reasoning.js +493 -0
- package/core/.specialist/tools/discovery-fixtures.js +308 -0
- package/core/.specialist/tools/discovery-runner.js +460 -0
- package/core/.specialist/tools/failure-detector.js +1132 -0
- package/core/.specialist/tools/identity-scorer.js +714 -0
- package/core/.specialist/tools/jev-optional-context.js +107 -0
- package/core/.specialist/tools/jev-optional-context.test.js +152 -0
- package/core/.specialist/tools/lesson-guard.js +1084 -0
- package/core/.specialist/tools/lib/chart-path.js +159 -0
- package/core/.specialist/tools/lib/chart-path.test.js +171 -0
- package/core/.specialist/tools/lib/project-resolver.js +200 -0
- package/core/.specialist/tools/lib/project-resolver.test.js +241 -0
- package/core/.specialist/tools/memory-action-log.js +839 -0
- package/core/.specialist/tools/phase-gate.js +3754 -0
- package/core/.specialist/tools/phase-gate.test.js +85 -0
- package/core/.specialist/tools/phase9-policy.test.js +109 -0
- package/core/.specialist/tools/precompute-runner.js +444 -0
- package/core/.specialist/tools/prompt-files.test.js +169 -0
- package/core/.specialist/tools/replay-detectors.js +290 -0
- package/core/.specialist/tools/rule-engine.js +621 -0
- package/core/.specialist/tools/session-boot-ownership.test.js +117 -0
- package/core/.specialist/tools/session-project-state.test.js +65 -0
- package/core/.specialist/tools/session.js +1866 -0
- package/core/.specialist/tools/stream-lease.js +263 -0
- package/core/.specialist/tools/task-bridge-jev.test.js +170 -0
- package/core/.specialist/tools/task-bridge.js +765 -0
- package/core/.specialist/tools/verify-identity.js +453 -0
- package/core/.specialist/tools/wish-mandate-delivery.test.js +76 -0
- package/core/.system/README.md +555 -0
- package/core/.system/agent-skills/README.md +724 -0
- package/core/.system/archive/README.md +499 -0
- package/core/.system/assessment/README.md +645 -0
- package/core/.system/cli-tools/README.md +724 -0
- package/core/.system/collaboration/KNOWLEDGE.md +65 -0
- package/core/.system/collaboration/README.md +570 -0
- package/core/.system/cortex/MODULES.md +1046 -0
- package/core/.system/dashboard/FRONTEND.md +812 -0
- package/core/.system/dashboard/README.md +737 -0
- package/core/.system/external-skills/README.md +522 -0
- package/core/.system/failure/README.md +723 -0
- package/core/.system/formation/LEGACY_SKILLS.md +972 -0
- package/core/.system/formation/POST_COMPLETE.md +600 -0
- package/core/.system/formation/README.md +1092 -0
- package/core/.system/formation/TOOLS_REFERENCE.md +1145 -0
- package/core/.system/githooks/README.md +846 -0
- package/core/.system/kenaz/README.md +787 -0
- package/core/.system/memory/README.md +716 -0
- package/core/.system/pipeline/README.md +712 -0
- package/core/.system/rule/README.md +794 -0
- package/core/.system/specialist/README.md +669 -0
- package/core/.system/specialist/STRUCTURE.md +262 -0
- package/core/.system/sunny/README.md +476 -0
- package/core/.system/sunny/RULES.json +89 -0
- package/core/.system/sunny/knowledge/INDEX.md +37 -0
- package/core/.system/sunny/knowledge/agent-teams-api.md +0 -0
- package/core/.system/sunny/knowledge/ansuz-specialist.md +500 -0
- package/core/.system/sunny/knowledge/claude-cli-spawn.md +177 -0
- package/core/.system/sunny/knowledge/collaboration-api.md +925 -0
- package/core/.system/sunny/teammates/README.md +107 -0
- package/core/.system/sunny/teammates/how_to_use.yaml +101 -0
- package/core/.system/sunny/teammates/tools/headless/launcher.js +318 -0
- package/core/.system/sunny/teammates/tools/powershell/launcher.js +241 -0
- package/core/.system/sunny/teammates/tools/powershell/start.bat +50 -0
- package/core/.system/sunny/teammates/tools/utils/env.js +96 -0
- package/core/.system/sunny/teammates/tools/utils/format-output.js +329 -0
- package/core/.system/sunny/tools.json +101 -0
- package/core/.vendor/js-yaml.cjs +2795 -0
- package/core/.vendor/require-yaml.cjs +8 -0
- package/core/CLAUDE.md +172 -0
- package/core/KENAZ_CORE_VERSION +1 -0
- package/core/dev/ALAYA_FIELD_FEEDBACK_DESIGN.md +126 -0
- package/core/dev/ANSUZ_SCAFFOLD_DIET_2026-09-20.md +231 -0
- package/core/dev/ANSUZ_STARTUP_INJECTION_REVIEW.md +355 -0
- package/core/dev/ANSUZ_WORKFLOW_MODERNIZATION.md +143 -0
- package/core/dev/CORTEX_META_GRAPH_ASSESSMENT.md +99 -0
- package/core/dev/FREYA_DOWNSTREAM_BUGS_2026-09-19.md +44 -0
- package/core/dev/GLOBAL_MEMORY_IDENTITY_CONSOLIDATION.md +263 -0
- package/core/dev/GUARD_EFFECTIVENESS_DESIGN.md +180 -0
- package/core/dev/HEALTH_GATE_VARIANCE_ASSESSMENT.md +271 -0
- package/core/dev/HOOK_DIET_2026-09-21.md +126 -0
- package/core/dev/JEV_INTEGRATION_PLAN.md +189 -0
- package/core/dev/KENAZ_AGENT_CONNECT_v1_SPEC.md +139 -0
- package/core/dev/MOBILE_DESIGN_SPEC.md +569 -0
- package/core/dev/MULTI_ANSUZ_SPEC.md +136 -0
- package/core/dev/MUNINN_RETIREMENT.md +115 -0
- package/core/dev/PHASE3_ATTRIBUTION_POPULATION_DIAGNOSIS.md +211 -0
- package/core/dev/PHASE3_P3-2B_TASKLEVEL_PROBE.md +83 -0
- package/core/dev/PHASE3_P3-2_POPULATION_DISJOINTNESS.md +83 -0
- package/core/dev/PHASE3_P3-2_REMEASURE_REPORT.md +231 -0
- package/core/dev/PREDICTION_GROUNDING_DESIGN.md +376 -0
- package/core/dev/PRODUCT_SPEC.md +317 -0
- package/core/dev/PRODUCT_SPEC_FOR_AI_tepmlate.md +716 -0
- package/core/dev/PROJECT_REGISTRY_DUPLICATE_ASSESSMENT.md +86 -0
- package/core/dev/STARTUP_TIMELINE_TASK_1995.md +181 -0
- package/core/dev/SYNAPSE_WORKER_PER_PROJECT.md +881 -0
- package/core/dev/TASK_1680_P3-3_DISPATCH_SPEC.md +96 -0
- package/core/dev/TASK_1684_CALIBRATION_IMPACT_ANALYSIS.md +170 -0
- package/core/dev/TASK_1684_FORK_A_GOODHART_DESIGN.md +171 -0
- package/core/dev/TASK_1684_P3_2_REMEASURE_VALIDATION.md +262 -0
- package/core/dev/TASK_1903_SIGNAL_AUC_MEASUREMENT.md +207 -0
- package/core/dev/TASK_1904_BRANCH_INTEGRITY_AUDIT.md +146 -0
- package/core/dev/ansuz-eval/README.md +38 -0
- package/core/dev/ansuz-eval/build-fixtures.js +87 -0
- package/core/dev/ansuz-eval/grade.js +96 -0
- package/core/dev/ansuz-eval/grader.test.js +117 -0
- package/core/dev/ansuz-eval/tasks.md +32 -0
- package/core/dev/archive/ansuz/BOOT_FULL.md +141 -0
- package/core/dev/archive/ansuz/agents/ansuz-boot.md +176 -0
- package/core/dev/archive/ansuz/designs/alaya-passive-surfacing.md +84 -0
- package/core/dev/archive/ansuz/designs/cc_memory_indexing.md +307 -0
- package/core/dev/archive/ansuz/designs/check_guard.md +322 -0
- package/core/dev/archive/ansuz/designs/consequence_loop.md +227 -0
- package/core/dev/archive/ansuz/designs/mcp_kuzudb_lock_architecture.md +312 -0
- package/core/dev/archive/ansuz/designs/phase0_git_enrichment.md +278 -0
- package/core/dev/archive/ansuz/designs/refactor_mcp_tools_synapse.md +490 -0
- package/core/dev/archive/ansuz/designs/semantic_markdown_extraction.md +167 -0
- package/core/dev/archive/ansuz/designs/task_1372_prompt_injects_into.md +193 -0
- package/core/dev/archive/ansuz/designs/thought_stack.md +286 -0
- package/core/dev/archive/ansuz/investigations/reachability_unified_api_2026-04-11.md +330 -0
- package/core/dev/archive/ansuz/investigations/synapse_orphans_indexing_bug_2026-04-11.md +352 -0
- package/core/dev/archive/ansuz/investigations/synapse_orphans_reindex_verification_2026-04-11.md +48 -0
- package/core/dev/archive/ansuz/investigations/synapse_orphans_verification_2026-04-11.md +170 -0
- package/core/dev/archive/ansuz/legacy/kernel.yaml +399 -0
- package/core/dev/archive/ansuz/legacy/phases/phase_0.yaml +418 -0
- package/core/dev/archive/ansuz/legacy/phases/phase_1.yaml +376 -0
- package/core/dev/archive/ansuz/legacy/phases/phase_10.yaml +35 -0
- package/core/dev/archive/ansuz/legacy/phases/phase_11.yaml +582 -0
- package/core/dev/archive/ansuz/legacy/phases/phase_2.yaml +94 -0
- package/core/dev/archive/ansuz/legacy/phases/phase_3.yaml +274 -0
- package/core/dev/archive/ansuz/legacy/phases/phase_4.yaml +67 -0
- package/core/dev/archive/ansuz/legacy/phases/phase_5.yaml +32 -0
- package/core/dev/archive/ansuz/legacy/phases/phase_6.yaml +91 -0
- package/core/dev/archive/ansuz/legacy/phases/phase_7.yaml +58 -0
- package/core/dev/archive/ansuz/legacy/phases/phase_8.yaml +146 -0
- package/core/dev/archive/ansuz/legacy/phases/phase_9.yaml +424 -0
- package/core/dev/archive/ansuz/specs/INDEX_bifrost_hook_parity.yaml +92 -0
- package/core/dev/archive/ansuz/specs/active-inference-formation.yaml +453 -0
- package/core/dev/archive/ansuz/specs/brief_TASK_1228_userpromptsubmit.yaml +191 -0
- package/core/dev/archive/ansuz/specs/brief_TASK_1229_pretooluse_posttooluse.yaml +250 -0
- package/core/dev/archive/ansuz/specs/brief_TASK_1230_sessionstart_stop.yaml +301 -0
- package/core/dev/archive/ansuz/specs/brief_TASK_1231_verification.yaml +272 -0
- package/core/dev/design/PHASE4_DESIGN.md +559 -0
- package/core/dev/design/dashboard_docs_integration_PLAN.md +388 -0
- package/core/dev/design/matrix_format_ABBREVIATIONS.md +655 -0
- package/core/dev/design/matrix_format_DESIGN_SPEC.md +601 -0
- package/core/dev/design/matrix_format_DISCUSSION_SUMMARY.md +484 -0
- package/core/dev/design/matrix_format_EXAMPLE_memory.matrix +13 -0
- package/core/dev/design/matrix_format_EXAMPLE_project_status.matrix +9 -0
- package/core/dev/design/matrix_format_EXAMPLE_tasks.matrix +14 -0
- package/core/dev/design/matrix_format_SYNTAX_BNF.md +754 -0
- package/core/dev/design/matrix_format_TOKEN_COMPARISON.md +484 -0
- package/core/dev/design/matrix_v2_COGNITIVE_DESIGN.md +503 -0
- package/core/dev/design/matrix_v2_DISCUSSION_SUMMARY.md +414 -0
- package/core/dev/design/matrix_v2_EXAMPLE.matrix +67 -0
- package/core/dev/designs/EXPANDABLE_CARD_DESIGN_SPEC.md +509 -0
- package/core/dev/jev-eval/ACTIVE_CORRECTION.md +52 -0
- package/core/dev/jev-eval/ANNOTATION_GUIDE.md +68 -0
- package/core/dev/jev-eval/BASELINE_COMPARISON.md +45 -0
- package/core/dev/jev-eval/CONTEXT_REVIEW.md +31 -0
- package/core/dev/jev-eval/EVALUATION_STATUS.md +39 -0
- package/core/dev/jev-eval/HISTORICAL_CORPUS.md +33 -0
- package/core/dev/jev-eval/PACKAGING_VERIFICATION.md +42 -0
- package/core/dev/jev-eval/README.md +101 -0
- package/core/dev/jev-eval/THALAMUS_RANKING.md +58 -0
- package/core/dev/jev-eval/VALIDATION_PROGRESS.md +54 -0
- package/core/dev/jev-eval/cli.mjs +50 -0
- package/core/dev/jev-eval/context.mjs +183 -0
- package/core/dev/jev-eval/corpus.mjs +186 -0
- package/core/dev/jev-eval/fixtures/conversation-review.seed.jsonl +6 -0
- package/core/dev/jev-eval/fixtures/synthetic.jsonl +11 -0
- package/core/dev/jev-eval/metrics.mjs +67 -0
- package/core/dev/jev-eval/muninn-baseline.mjs +119 -0
- package/core/dev/jev-eval/providers.mjs +95 -0
- package/core/dev/jev-eval/reports/annotation-pilot-2026-09-20.json +32 -0
- package/core/dev/jev-eval/reports/context-review-2026-09-20.json +48 -0
- package/core/dev/jev-eval/reports/conversation-review.pending.json +151 -0
- package/core/dev/jev-eval/reports/history-corpus-2026-09-20.json +52 -0
- package/core/dev/jev-eval/reports/length-probe-2026-09-20.json +133 -0
- package/core/dev/jev-eval/reports/live-smoke-2026-09-20.json +616 -0
- package/core/dev/jev-eval/reports/muninn-baseline-2026-09-20.json +52 -0
- package/core/dev/jev-eval/reports/resilience-2026-09-20.json +520 -0
- package/core/dev/jev-eval/reports/rules-baseline.json +197 -0
- package/core/dev/jev-eval/reports/synthetic-review.pending.json +357 -0
- package/core/dev/jev-eval/resilience.mjs +71 -0
- package/core/dev/jev-eval/review.mjs +78 -0
- package/core/dev/jev-eval/schema.mjs +87 -0
- package/core/dev/jev-eval/test/context.test.mjs +95 -0
- package/core/dev/jev-eval/test/corpus.test.mjs +102 -0
- package/core/dev/jev-eval/test/eval.test.mjs +146 -0
- package/core/dev/jev-eval/test/muninn-baseline.test.mjs +71 -0
- package/core/dev/jev-eval/test/resilience.test.mjs +72 -0
- package/core/dev/jev-eval/test/review.test.mjs +61 -0
- package/core/dev/pipeline/LOCK_STATE.json +4 -0
- package/core/dev/pipeline/OPTIMIZATION_PROPOSALS.json +32 -0
- package/core/dev/pipeline/PHASE3_PLANNING_SUMMARY.md +338 -0
- package/core/dev/pipeline/PIPELINE_CONFIG.json +46 -0
- package/core/dev/pipeline/PROGRESS.md +113 -0
- package/core/dev/pipeline/PROGRESS_template.md +860 -0
- package/core/dev/pipeline/QA_REPORT_F008.md +431 -0
- package/core/dev/pipeline/QA_REPORT_LOCAL_CLAUDE_DIAGNOSIS.md +583 -0
- package/core/dev/pipeline/README.md +210 -0
- package/core/dev/pipeline/SELF_ENHANCEMENT_STATUS.json.bak +47 -0
- package/core/dev/pipeline/TASK_QUEUE.json +192 -0
- package/core/dev/pipeline/WORKFLOW_GUIDE.md +824 -0
- package/core/dev/pipeline/archived/TASK_015_tauri_init.yaml +53 -0
- package/core/dev/pipeline/archived/TASK_016_tauri_commands.yaml +54 -0
- package/core/dev/pipeline/archived/TASK_017_rust_pty.yaml +54 -0
- package/core/dev/pipeline/archived/TASK_018_tauri_bundle.yaml +53 -0
- package/core/dev/pipeline/archived/TASK_019_release_workflow.yaml +56 -0
- package/core/dev/pipeline/archived/TASK_020_update_ui.yaml +54 -0
- package/core/dev/pipeline/archived/TASK_021_update_notification_ui.yaml +55 -0
- package/core/dev/pipeline/archived/TASK_022_remove_node_pty.yaml +65 -0
- package/core/dev/pipeline/archived/TASK_023_api_routes_migration.yaml +86 -0
- package/core/dev/pipeline/archived/TASK_024_feature_id_system.yaml +51 -0
- package/core/dev/pipeline/archived/TASK_025_executable_acceptance.yaml +66 -0
- package/core/dev/pipeline/archived/TASK_026_spec_versioning.yaml +56 -0
- package/core/dev/pipeline/archived/TASK_027_drift_detection.yaml +60 -0
- package/core/dev/pipeline/archived/TASK_028_tauri_pty_manager.yaml +60 -0
- package/core/dev/pipeline/archived/TASK_029_tauri_pty_commands.yaml +62 -0
- package/core/dev/pipeline/archived/TASK_030_frontend_session_adapter.yaml +54 -0
- package/core/dev/pipeline/archived/TASK_031_terminal_tauri_events.yaml +56 -0
- package/core/dev/pipeline/archived/TASK_041_scheduler_data_models.yaml +54 -0
- package/core/dev/pipeline/archived/TASK_042_path_lock_manager.yaml +53 -0
- package/core/dev/pipeline/archived/TASK_043_process_manager.yaml +57 -0
- package/core/dev/pipeline/archived/TASK_044_git_integration.yaml +85 -0
- package/core/dev/pipeline/archived/TASK_045_task_queue_manager.yaml +54 -0
- package/core/dev/pipeline/archived/TASK_046_scheduler_dispatcher.yaml +60 -0
- package/core/dev/pipeline/archived/TASK_047_tauri_scheduler_commands.yaml +55 -0
- package/core/dev/pipeline/archived/TASK_048_realtime_status_push.yaml +92 -0
- package/core/dev/pipeline/archived/TASK_049_frontend_scheduler_integration.yaml +58 -0
- package/core/dev/pipeline/archived/TASK_050_error_recovery.yaml +56 -0
- package/core/dev/pipeline/archived/TASK_051_optimization_proposals_backend.yaml +53 -0
- package/core/dev/pipeline/archived/TASK_052_optimization_proposals_ui.yaml +58 -0
- package/core/dev/pipeline/archived/TASK_053_optimization_proposals_diff_view.yaml +54 -0
- package/core/dev/pipeline/archived/TASK_054_multi_project_scheduler_state.yaml +76 -0
- package/core/dev/pipeline/archived/TASK_055_scheduler_api_project_scope.yaml +64 -0
- package/core/dev/pipeline/archived/TASK_056_frontend_scheduler_project_scope.yaml +62 -0
- package/core/dev/pipeline/archived/TASK_057_scheduler_module_structure.yaml +54 -0
- package/core/dev/pipeline/archived/TASK_058_scheduler_models_extract.yaml +51 -0
- package/core/dev/pipeline/archived/TASK_059_scheduler_core_extract.yaml +51 -0
- package/core/dev/pipeline/archived/TASK_060_scheduler_commands_extract.yaml +51 -0
- package/core/dev/pipeline/archived/TASK_061_scheduler_specialized_commands.yaml +53 -0
- package/core/dev/pipeline/archived/TASK_062_process_manager_module_structure.yaml +56 -0
- package/core/dev/pipeline/archived/TASK_063_process_manager_core_extract.yaml +56 -0
- package/core/dev/pipeline/archived/TASK_064_recovery_module_structure.yaml +57 -0
- package/core/dev/pipeline/archived/TASK_065_recovery_core_extract.yaml +56 -0
- package/core/dev/pipeline/archived/TASK_066_self_enhancement_scheduler_models.yaml +60 -0
- package/core/dev/pipeline/archived/TASK_067_agents_section_quick_actions.yaml +53 -0
- package/core/dev/pipeline/archived/TASK_067_self_enhancement_scheduler_core.yaml +65 -0
- package/core/dev/pipeline/archived/TASK_068_agent_workflow_rule_enhancement.yaml +46 -0
- package/core/dev/pipeline/archived/TASK_068_self_enhancement_tauri_commands.yaml +61 -0
- package/core/dev/pipeline/archived/TASK_069_agent_wizard_responsive.yaml +46 -0
- package/core/dev/pipeline/archived/TASK_069_self_enhancement_ui.yaml +62 -0
- package/core/dev/pipeline/archived/TASK_070_preview_panel_redesign.yaml +62 -0
- package/core/dev/pipeline/archived/TASK_070_self_enhancement_integration.yaml +57 -0
- package/core/dev/pipeline/archived/TASK_071_preview_panel_qa.yaml +98 -0
- package/core/dev/pipeline/archived/TASK_071_single_agent_config.yaml +57 -0
- package/core/dev/pipeline/archived/TASK_072_preview_modal_esc_fix.yaml +71 -0
- package/core/dev/pipeline/archived/TASK_072_product_review_module.yaml +57 -0
- package/core/dev/pipeline/archived/TASK_073_agents_page_component_refactor.yaml +68 -0
- package/core/dev/pipeline/archived/TASK_073_rename_single_agent.yaml +64 -0
- package/core/dev/pipeline/archived/TASK_074_preview_mode_ui_diagnosis.yaml +71 -0
- package/core/dev/pipeline/archived/TASK_074_single_agent_ui_toggle.yaml +56 -0
- package/core/dev/pipeline/archived/TASK_075_agents_page_component_refactor.yaml +69 -0
- package/core/dev/pipeline/archived/TASK_075_single_agent_integration_test.yaml +75 -0
- package/core/dev/pipeline/archived/TASK_076_preview_mode_ui_diagnosis.yaml +70 -0
- package/core/dev/pipeline/archived/TASK_076_single_agent_continuous_mode.yaml +65 -0
- package/core/dev/pipeline/archived/TASK_077_failure_directory_structure.yaml +51 -0
- package/core/dev/pipeline/archived/TASK_077_single_agent_typescript_types.yaml +59 -0
- package/core/dev/pipeline/archived/TASK_078_fail_001_agent_no_output.yaml +53 -0
- package/core/dev/pipeline/archived/TASK_078_single_agent_ui_simplify.yaml +74 -0
- package/core/dev/pipeline/archived/TASK_079_dashboard_rwd_responsive.yaml +63 -0
- package/core/dev/pipeline/archived/TASK_079_fail_002_json_bom.yaml +56 -0
- package/core/dev/pipeline/archived/TASK_080_fail_003_queue_pollution.yaml +56 -0
- package/core/dev/pipeline/archived/TASK_080_http_server_module.yaml +55 -0
- package/core/dev/pipeline/archived/TASK_081_failure_logging_tools.yaml +57 -0
- package/core/dev/pipeline/archived/TASK_081_http_api_routes.yaml +62 -0
- package/core/dev/pipeline/archived/TASK_082_frontend_api_adapter.yaml +51 -0
- package/core/dev/pipeline/archived/TASK_082_integrate_failure_to_workflow.yaml +60 -0
- package/core/dev/pipeline/archived/TASK_083_cleanup_nextjs_api.yaml +48 -0
- package/core/dev/pipeline/archived/TASK_083_task_queue_cleanup.yaml +67 -0
- package/core/dev/pipeline/archived/TASK_084_rust_dead_code_cleanup.yaml +66 -0
- package/core/dev/pipeline/archived/TASK_084_scheduler_sync_logic_fix.yaml +68 -0
- package/core/dev/pipeline/archived/TASK_085_http_api_web_mode_fixes.yaml +46 -0
- package/core/dev/pipeline/archived/TASK_085_memory_consolidation_0204_0205.yaml +98 -0
- package/core/dev/pipeline/archived/TASK_086_collapsible_preview_panel.yaml +161 -0
- package/core/dev/pipeline/archived/TASK_086_web_mode_feature_parity.yaml +62 -0
- package/core/dev/pipeline/archived/TASK_087_manual_memory_archival.yaml +163 -0
- package/core/dev/pipeline/archived/TASK_087_mobile_http_control.yaml +68 -0
- package/core/dev/pipeline/archived/TASK_088_fail_003_to_ppl_002_rule.yaml +63 -0
- package/core/dev/pipeline/archived/TASK_088_mobile_http_qa.yaml +121 -0
- package/core/dev/pipeline/archived/TASK_089_agent_collaboration_topic.yaml +60 -0
- package/core/dev/pipeline/archived/TASK_089_web_mode_monitor_fix.yaml +58 -0
- package/core/dev/pipeline/archived/TASK_090_cli_detection_fix.yaml +61 -0
- package/core/dev/pipeline/archived/TASK_090_ui_ux_lessons_topic.yaml +63 -0
- package/core/dev/pipeline/archived/TASK_091_expandable_card_design.yaml +56 -0
- package/core/dev/pipeline/archived/TASK_091_move_agent_section_components.yaml +65 -0
- package/core/dev/pipeline/archived/TASK_092_expandable_card_component.yaml +60 -0
- package/core/dev/pipeline/archived/TASK_092_refactor_agent_create_wizard.yaml +84 -0
- package/core/dev/pipeline/archived/TASK_093_taskcard_detail_integration.yaml +57 -0
- package/core/dev/pipeline/archived/TASK_093_update_barrel_exports_test.yaml +84 -0
- package/core/dev/pipeline/archived/TASK_094_ai_agent_generation_enhancement.yaml +115 -0
- package/core/dev/pipeline/archived/TASK_094_proposalcard_detail_integration.yaml +55 -0
- package/core/dev/pipeline/archived/TASK_095_preview_fixes.yaml +129 -0
- package/core/dev/pipeline/archived/TASK_095_single_agent_task_selector.yaml +60 -0
- package/core/dev/pipeline/archived/TASK_096_agents_page_ux_improvements.yaml +163 -0
- package/core/dev/pipeline/archived/TASK_096_single_agent_status_sync.yaml +60 -0
- package/core/dev/pipeline/archived/TASK_097_local_claude_error_logging.yaml +59 -0
- package/core/dev/pipeline/archived/TASK_097_single_agent_monitor_events.yaml +59 -0
- package/core/dev/pipeline/archived/TASK_098_product_manager_team_phase2.yaml +60 -0
- package/core/dev/pipeline/archived/TASK_098_single_agent_refactor_test.yaml +58 -0
- package/core/dev/pipeline/archived/TASK_099_backend_team_creation.yaml +258 -0
- package/core/dev/pipeline/archived/TASK_100_frontend_team_creation.yaml +61 -0
- package/core/dev/pipeline/archived/TASK_101_orchestrator_system.yaml +403 -0
- package/core/dev/pipeline/archived/TASK_102_designer_sre_teams.yaml +90 -0
- package/core/dev/pipeline/archived/TASK_103_integration_testing.yaml +86 -0
- package/core/dev/pipeline/archived/TASK_128_integration_testing.yaml +83 -0
- package/core/dev/pipeline/archived/TASK_134_cortex_v2_phase3_file_watcher.yaml +65 -0
- package/core/dev/pipeline/archived/TASK_134_team_http_api.yaml +96 -0
- package/core/dev/pipeline/archived/TASK_135_cortex_v2_phase3_git_monitor.yaml +63 -0
- package/core/dev/pipeline/archived/TASK_136_cortex_v2_phase3_change_analyzer.yaml +69 -0
- package/core/dev/pipeline/archived/TASK_137_cortex_v2_phase3_cache_invalidator.yaml +67 -0
- package/core/dev/pipeline/archived/TASK_137_team_orchestrator_integration.yaml +93 -0
- package/core/dev/pipeline/archived/TASK_138_cortex_v2_phase3_distributed_cache.yaml +68 -0
- package/core/dev/pipeline/archived/TASK_138_matrix_folder_structure.yaml +61 -0
- package/core/dev/pipeline/archived/TASK_139_cortex_v2_phase3_cache_prewarming.yaml +65 -0
- package/core/dev/pipeline/archived/TASK_146_unified_documentation.yaml +141 -0
- package/core/dev/pipeline/archived/TASK_147_pipeline_execution_rules.yaml +76 -0
- package/core/dev/pipeline/archived/TASK_148_update_claude_md.yaml +77 -0
- package/core/dev/pipeline/archived/TASK_149_fix_nextjs_mdx_serialization.yaml +63 -0
- package/core/dev/pipeline/archived/TASK_149_update_team_docs.yaml +77 -0
- package/core/dev/pipeline/archived/TASK_150_pipeline_workflow_guide.yaml +82 -0
- package/core/dev/pipeline/archived/TASK_164_fix_smart_context_switch.yaml +49 -0
- package/core/dev/pipeline/archived/TASK_165_ctags_symbol_index.yaml +53 -0
- package/core/dev/pipeline/archived/TASK_166_symbol_search_mcp_tool.yaml +48 -0
- package/core/dev/pipeline/archived/TASK_167_llm_module_summary.yaml +55 -0
- package/core/dev/pipeline/archived/TASK_168_map_reduce_context.yaml +51 -0
- package/core/dev/pipeline/archived/TASK_169_v2_integration_testing.yaml +52 -0
- package/core/dev/pipeline/backups/archive_2026-02-04T22-07-22/TASK_QUEUE_backup.json +95 -0
- package/core/dev/pipeline/docs/multi-agent-coordination.md +446 -0
- package/core/dev/pipeline/docs/overview.md +406 -0
- package/core/dev/pipeline/docs/task-management.md +412 -0
- package/core/dev/pipeline/docs/workflows.md +32 -0
- package/core/dev/pipeline/orchestrator/schemas/task_queue_schema.json +58 -0
- package/core/dev/pipeline/orchestrator/schemas/task_schema.json +139 -0
- package/core/dev/pipeline/plans/PLAN_task_cli_refactor.md +281 -0
- package/core/dev/pipeline/tasks/.gitkeep +1 -0
- package/core/dev/pipeline/test_results/TASK_TEST_PARALLEL_002_result.txt +27 -0
- package/core/dev/plans/CLI_FIRST_INSTALL_FLOW.md +128 -0
- package/core/dev/plans/FORMATION_RETIREMENT_PLAN.md +313 -0
- package/core/dev/plans/KUZU_REPLACEMENT_PLAN.md +126 -0
- package/core/dev/schemas/PRODUCT_SPEC.example.yaml +382 -0
- package/core/dev/schemas/PRODUCT_SPEC.schema.json +800 -0
- package/core/dev/schemas/README.md +517 -0
- package/core/dev/schemas/TASK.schema.json +226 -0
- package/core/dev/schemas/dataflows_ground_truth.yaml +173 -0
- package/core/dev/schemas/dataflows_spec.yaml +160 -0
- package/core/dev/schemas/extends_ground_truth.yaml +66 -0
- package/core/dev/schemas/extends_spec.yaml +121 -0
- package/core/dev/schemas/implements_ground_truth.yaml +77 -0
- package/core/dev/schemas/implements_spec.yaml +140 -0
- package/core/dev/scripts/CRASH_DIAGNOSIS.md +47 -0
- package/core/dev/scripts/README.md +142 -0
- package/core/dev/scripts/RUN_ONCE.bat +40 -0
- package/core/dev/scripts/START_DEV_AGENT.bat +63 -0
- package/core/dev/scripts/START_MULTI_AGENT.bat +80 -0
- package/core/dev/scripts/check-alaya-report-isolation.js +255 -0
- package/core/dev/scripts/check-file-size.js +268 -0
- package/core/dev/scripts/ci-feedback.js +251 -0
- package/core/dev/scripts/clean-verify-targets.js +132 -0
- package/core/dev/scripts/cleanup-queue.js +184 -0
- package/core/dev/scripts/cleanup_queue.js +86 -0
- package/core/dev/scripts/dev_agent_scheduler.ps1 +536 -0
- package/core/dev/scripts/dispatch-stats.js +384 -0
- package/core/dev/scripts/dispatch-stats.test.js +162 -0
- package/core/dev/scripts/gc-agent-worktrees.js +461 -0
- package/core/dev/scripts/gc-agent-worktrees.test.js +48 -0
- package/core/dev/scripts/hooks/README.md +148 -0
- package/core/dev/scripts/init_git.ps1 +396 -0
- package/core/dev/scripts/init_git.sh +337 -0
- package/core/dev/scripts/init_project.ps1 +851 -0
- package/core/dev/scripts/init_project.sh +477 -0
- package/core/dev/scripts/js-yaml-resolution.test.js +48 -0
- package/core/dev/scripts/kenaz-session.js +354 -0
- package/core/dev/scripts/kenaz-session.test.js +234 -0
- package/core/dev/scripts/legacy/README.md +39 -0
- package/core/dev/scripts/legacy/dev_agent_scheduler.ps1.bak +536 -0
- package/core/dev/scripts/legacy/multi_agent_scheduler.ps1.bak +1978 -0
- package/core/dev/scripts/matrix/CLI_README.md +214 -0
- package/core/dev/scripts/matrix/README.md +310 -0
- package/core/dev/scripts/matrix/package-lock.json +4266 -0
- package/core/dev/scripts/matrix/package.json +55 -0
- package/core/dev/scripts/matrix/src/abbreviations.ts +295 -0
- package/core/dev/scripts/matrix/src/cli/commands/convert.ts +211 -0
- package/core/dev/scripts/matrix/src/cli/commands/create.ts +95 -0
- package/core/dev/scripts/matrix/src/cli/commands/delete.ts +102 -0
- package/core/dev/scripts/matrix/src/cli/commands/list-tags.ts.wip +140 -0
- package/core/dev/scripts/matrix/src/cli/commands/manage-tags.ts.wip +173 -0
- package/core/dev/scripts/matrix/src/cli/commands/query.ts +261 -0
- package/core/dev/scripts/matrix/src/cli/commands/read.ts +77 -0
- package/core/dev/scripts/matrix/src/cli/commands/stats.ts.wip +168 -0
- package/core/dev/scripts/matrix/src/cli/commands/tokens.ts.wip +126 -0
- package/core/dev/scripts/matrix/src/cli/commands/update.ts +147 -0
- package/core/dev/scripts/matrix/src/cli/commands/validate.ts +275 -0
- package/core/dev/scripts/matrix/src/cli/index.ts +350 -0
- package/core/dev/scripts/matrix/src/cli/utils/file-handler.ts +72 -0
- package/core/dev/scripts/matrix/src/cli/utils/logger.ts +65 -0
- package/core/dev/scripts/matrix/src/index.ts +62 -0
- package/core/dev/scripts/matrix/src/indexer/tag-indexer.ts +165 -0
- package/core/dev/scripts/matrix/src/parser.ts +281 -0
- package/core/dev/scripts/matrix/src/serializer.ts +151 -0
- package/core/dev/scripts/matrix/src/validator.ts +301 -0
- package/core/dev/scripts/matrix/tests/abbreviations.test.ts +122 -0
- package/core/dev/scripts/matrix/tests/cli.test.ts +177 -0
- package/core/dev/scripts/matrix/tests/convert.test.ts +143 -0
- package/core/dev/scripts/matrix/tests/parser.test.ts +203 -0
- package/core/dev/scripts/matrix/tests/query.test.ts +85 -0
- package/core/dev/scripts/matrix/tests/serializer.test.ts +197 -0
- package/core/dev/scripts/matrix/tests/validate.test.ts +141 -0
- package/core/dev/scripts/matrix/tests/validator.test.ts +167 -0
- package/core/dev/scripts/matrix/tsconfig.json +20 -0
- package/core/dev/scripts/matrix/types/index.d.ts +111 -0
- package/core/dev/scripts/matrix/types/index.d.ts.map +1 -0
- package/core/dev/scripts/matrix/types/index.js +8 -0
- package/core/dev/scripts/matrix/types/index.js.map +1 -0
- package/core/dev/scripts/matrix/types/index.ts +124 -0
- package/core/dev/scripts/memory-guard-eval.js +330 -0
- package/core/dev/scripts/memory-usage-report.js +152 -0
- package/core/dev/scripts/migrate-task-dependencies.js +198 -0
- package/core/dev/scripts/multi_agent_scheduler.ps1 +2021 -0
- package/core/dev/scripts/multi_agent_scheduler.sh +1344 -0
- package/core/dev/scripts/probe/ansuz-scaffold-ablation.js +579 -0
- package/core/dev/scripts/probe/ansuz-scaffold-ablation.test.js +244 -0
- package/core/dev/scripts/probe/hippocampus-concurrency.js +247 -0
- package/core/dev/scripts/probe/hook-latency-probe.js +315 -0
- package/core/dev/scripts/probe/hook-latency-probe.test.js +105 -0
- package/core/dev/scripts/probe/prediction-signal-auc.js +483 -0
- package/core/dev/scripts/probe/prediction-signal-auc.test.js +200 -0
- package/core/dev/scripts/reset_tasks.js +99 -0
- package/core/dev/scripts/run-rust-tests.js +207 -0
- package/core/dev/scripts/run-rust-tests.test.js +154 -0
- package/core/dev/scripts/run_once.sh +47 -0
- package/core/dev/scripts/rust-verify-worktree.js +591 -0
- package/core/dev/scripts/rust-verify-worktree.test.js +574 -0
- package/core/dev/scripts/seh_probe.rs +26 -0
- package/core/dev/scripts/setup_mcp.ps1 +192 -0
- package/core/dev/scripts/setup_mcp.sh +159 -0
- package/core/dev/scripts/setup_rag.ps1 +304 -0
- package/core/dev/scripts/setup_rag.sh +230 -0
- package/core/dev/scripts/start_dev_agent.sh +137 -0
- package/core/dev/scripts/start_multi_agent.sh +41 -0
- package/core/dev/scripts/sync_task_queue.ps1 +505 -0
- package/core/dev/scripts/sync_task_queue.sh +392 -0
- package/core/dev/scripts/task1961/RUNBOOK.md +300 -0
- package/core/dev/scripts/task1961/fixtures/never-listens.server.js +54 -0
- package/core/dev/scripts/task1961/fixtures/slow-serve.server.js +134 -0
- package/core/dev/scripts/task1961/run-fixture.js +659 -0
- package/core/dev/scripts/task1961/selftest.js +247 -0
- package/core/dev/scripts/test-pty-ws-tunnel.js +229 -0
- package/core/dev/scripts/validate_pipeline.js +197 -0
- package/core/dev/scripts/verify-isbar-capture.js +100 -0
- package/core/dev/scripts/verify-target-dir.js +69 -0
- package/core/dev/scripts/verify-task-1839.js +141 -0
- package/core/dev/specs/agent-connect/PROTOCOL.md +177 -0
- package/core/dev/specs/agent-connect/SDK_GUIDE.md +915 -0
- package/core/dev/specs/agent-connect/examples/minimal-site/README.md +137 -0
- package/core/dev/specs/agent-connect/examples/minimal-site/package.json +12 -0
- package/core/dev/specs/agent-connect/examples/minimal-site/public/index.html +116 -0
- package/core/dev/specs/agent-connect/examples/minimal-site/public/install-redirect.js +73 -0
- package/core/dev/specs/agent-connect/examples/minimal-site/server.js +516 -0
- package/core/dev/specs/agent-connect/examples/minimal-site/test/smoke.test.mjs +263 -0
- package/core/dev/specs/agent-connect/history/DEFECT_REPORT_kenaz-agent-hub_2026-09-09_v0.4-empty-prompt-no-first-turn.md +77 -0
- package/core/dev/specs/agent-connect/history/DEFECT_REPORT_kenaz-agent-hub_2026-09-09_v0.4-prompt-mojibake.md +90 -0
- package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-07.md +61 -0
- package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-08_relay-v1-conformance.md +76 -0
- package/core/dev/specs/agent-connect/history/FEATURE_REQUEST_kenaz-agent-hub_2026-09-09_v0.4-session-channel.md +87 -0
- package/core/dev/specs/agent-connect/history/FLOWPIX_REPLY_agent-hub_2026-09-08_relay-v1-answers.md +68 -0
- package/core/dev/specs/agent-connect/history/FLOWPIX_bridge_CONTRACT.md +642 -0
- package/core/dev/specs/agent-connect/history/FLOWPIX_spikes_relay_spike_relay.mjs +244 -0
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-07.md +77 -0
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_direction-change-v0.3.md +44 -0
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-answers-ack.md +37 -0
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-08_relay-v1-conformance.md +56 -0
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_annotations-install-coldstart.md +44 -0
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_empty-prompt-first-turn.md +56 -0
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_prompt-mojibake-fixed.md +48 -0
- package/core/dev/specs/agent-connect/history/KENAZ_RESPONSE_agent-hub_2026-09-09_session-channel.md +57 -0
- package/core/dev/specs/agent-connect/history/PROTOCOL_v0.3_snapshot.md +379 -0
- package/core/dev/specs/agent-connect/history/README.md +47 -0
- package/core/dev/specs/peer/CODEX_INTERACTIVE_PUSH.md +65 -0
- package/core/dev/specs/peer/CODEX_PEER_PULL_SPIKE.md +54 -0
- package/core/dev/specs/peer/MODS_SPIKE.md +133 -0
- package/core/dev/specs/peer/PER_PROJECT_ADDRESSING.md +143 -0
- package/core/dev/specs/peer/SWARM_PROTOCOLS.md +256 -0
- package/core/dev/specs/peer/codex-hook-shim-peer.test.js +101 -0
- package/core/dev/specs/peer/codex-push-launcher.test.js +142 -0
- package/core/dev/specs/peer/setup-codex-hooks.test.js +22 -0
- package/core/dev/specs/peer-ansuz/DELIVERY_SPIKE.md +397 -0
- package/core/dev/specs/peer-ansuz/DESIGN.md +109 -0
- package/core/dev/specs/peer-ansuz/spike/claude_poke.js +129 -0
- package/core/dev/specs/peer-ansuz/spike/claude_session_start_hook.js +37 -0
- package/core/dev/specs/peer-ansuz/spike/claude_settings_hook.json +14 -0
- package/core/dev/specs/peer-ansuz/spike/codex_appserver_client.js +105 -0
- package/core/dev/specs/peer-ansuz/spike/codex_appserver_query.js +29 -0
- package/core/dev/specs/peer-ansuz/spike/extract_timeline.js +26 -0
- package/core/dev/specs/synapse/SYMBOL_IDENTITY.md +305 -0
- package/core/dev/spikes/A4-cypher-varlen.md +176 -0
- package/core/dev/spikes/bloat-rounds.sh +25 -0
- package/core/dev/spikes/mods/clean-claude.js +9 -0
- package/core/dev/spikes/mods/drive-probe.js +29 -0
- package/core/dev/spikes/mods/e2e-peer.js +71 -0
- package/core/dev/spikes/mods/evidence/e2e-peer-control.json +17 -0
- package/core/dev/spikes/mods/evidence/e2e-peer-mod.json +17 -0
- package/core/dev/spikes/mods/evidence/probe-006a6e65-d807-4bc1-b648-fd7d1edfe0b4.jsonl +4 -0
- package/core/dev/spikes/mods/evidence/probe-cebdf1f7-f9c4-47a8-83cd-7c0786177404.jsonl +12 -0
- package/core/dev/spikes/mods/evidence/probe-eb21147d-10ce-4c32-93ed-37ca37d88d5a.jsonl +11 -0
- package/core/dev/spikes/mods/evidence/stream-cebdf1f7.jsonl +18 -0
- package/core/dev/spikes/mods/kenaz-mod-probe/.claude-plugin/plugin.json +1 -0
- package/core/dev/spikes/mods/kenaz-mod-probe/hooks/hooks.json +1 -0
- package/core/dev/spikes/mods/kenaz-mod-probe/hooks/register.ts +65 -0
- package/core/dev/spikes/mods/kenaz-mod-probe/tsconfig.json +3 -0
- package/core/k-cli/README.md +423 -0
- package/core/k-cli/package.json +21 -0
- package/core/k-cli/templates/k-cli.md +91 -0
- package/core/k-cli/test/TEST_SPEC.md +134 -0
- package/core/k-cli/test/run.sh +469 -0
- package/core/plugins/kenaz/.claude-plugin/plugin.json +1 -0
- package/core/plugins/kenaz/.mcp.json +5 -0
- package/core/plugins/kenaz/INVENTORY.md +48 -0
- package/core/plugins/kenaz/README.md +55 -0
- package/core/plugins/kenaz/commands/Amelia.md +5 -0
- package/core/plugins/kenaz/commands/Ansuz.md +38 -0
- package/core/plugins/kenaz/commands/architect.md +24 -0
- package/core/plugins/kenaz/commands/incident.md +15 -0
- package/core/plugins/kenaz/commands/kenaz.md +12 -0
- package/core/plugins/kenaz/commands/review.md +14 -0
- package/core/plugins/kenaz/commands/security.md +15 -0
- package/core/plugins/kenaz/commands/spec.md +22 -0
- package/core/plugins/kenaz/commands/strategy.md +141 -0
- package/core/plugins/kenaz/commands//347/224/242/345/223/201.md +15 -0
- package/core/plugins/kenaz/commands//350/250/255/350/250/210.md +14 -0
- package/core/plugins/kenaz/commands//350/251/225/344/274/260.md +16 -0
- package/core/plugins/kenaz/guidance.md +5 -0
- package/core/plugins/kenaz/hooks/core-resolve.js +230 -0
- package/core/plugins/kenaz/hooks/hooks.json +31 -0
- package/core/plugins/kenaz/hooks/kenaz-hook.js +112 -0
- package/core/plugins/kenaz/hooks/mode.js +39 -0
- package/core/plugins/kenaz/scripts/kenaz-mode.js +46 -0
- package/core/plugins/kenaz/scripts/kenaz.test.js +123 -0
- package/core/plugins/kenaz/scripts/sync.js +45 -0
- package/core/plugins/kenaz/scripts/ygg.js +157 -0
- package/core/plugins/kenaz/skills/adapt/SKILL.md +199 -0
- package/core/plugins/kenaz/skills/animate/SKILL.md +190 -0
- package/core/plugins/kenaz/skills/architect_agent/SKILL.md +408 -0
- package/core/plugins/kenaz/skills/assessment_agent/SKILL.md +289 -0
- package/core/plugins/kenaz/skills/audit/SKILL.md +129 -0
- package/core/plugins/kenaz/skills/backend_agent/SKILL.md +407 -0
- package/core/plugins/kenaz/skills/backend_engineer/SKILL.md +788 -0
- package/core/plugins/kenaz/skills/bolder/SKILL.md +132 -0
- package/core/plugins/kenaz/skills/clarify/SKILL.md +180 -0
- package/core/plugins/kenaz/skills/code_reviewer/SKILL.md +305 -0
- package/core/plugins/kenaz/skills/code_reviewer/patterns.yaml +85 -0
- package/core/plugins/kenaz/skills/colorize/SKILL.md +158 -0
- package/core/plugins/kenaz/skills/critique/SKILL.md +118 -0
- package/core/plugins/kenaz/skills/delight/SKILL.md +317 -0
- package/core/plugins/kenaz/skills/designer/SKILL.md +845 -0
- package/core/plugins/kenaz/skills/dev_agent/SKILL.md +503 -0
- package/core/plugins/kenaz/skills/developer/SKILL.md +792 -0
- package/core/plugins/kenaz/skills/distill/SKILL.md +137 -0
- package/core/plugins/kenaz/skills/extract/SKILL.md +95 -0
- package/core/plugins/kenaz/skills/feature_agent/SKILL.md +303 -0
- package/core/plugins/kenaz/skills/frontend-design/SKILL.md +127 -0
- package/core/plugins/kenaz/skills/frontend-design/reference/color-and-contrast.md +132 -0
- package/core/plugins/kenaz/skills/frontend-design/reference/interaction-design.md +123 -0
- package/core/plugins/kenaz/skills/frontend-design/reference/motion-design.md +99 -0
- package/core/plugins/kenaz/skills/frontend-design/reference/responsive-design.md +114 -0
- package/core/plugins/kenaz/skills/frontend-design/reference/spatial-design.md +100 -0
- package/core/plugins/kenaz/skills/frontend-design/reference/typography.md +131 -0
- package/core/plugins/kenaz/skills/frontend-design/reference/ux-writing.md +107 -0
- package/core/plugins/kenaz/skills/frontend_agent/SKILL.md +327 -0
- package/core/plugins/kenaz/skills/harden/SKILL.md +358 -0
- package/core/plugins/kenaz/skills/incident_response/SKILL.md +315 -0
- package/core/plugins/kenaz/skills/normalize/SKILL.md +67 -0
- package/core/plugins/kenaz/skills/onboard/SKILL.md +243 -0
- package/core/plugins/kenaz/skills/optimize/SKILL.md +269 -0
- package/core/plugins/kenaz/skills/polish/SKILL.md +202 -0
- package/core/plugins/kenaz/skills/product_manager/SKILL.md +1091 -0
- package/core/plugins/kenaz/skills/qa_engineer/SKILL.md +1269 -0
- package/core/plugins/kenaz/skills/quieter/SKILL.md +118 -0
- package/core/plugins/kenaz/skills/security_agent/SKILL.md +312 -0
- package/core/plugins/kenaz/skills/spec_optimizer/SKILL.md +299 -0
- package/core/plugins/kenaz/skills/sre_agent/SKILL.md +1347 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/SKILL.md +377 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/core/plugins/kenaz/skills/ui-ux-pro-max/scripts/search.py +106 -0
- package/core/plugins/kenaz-peer/.claude-plugin/plugin.json +1 -0
- package/core/plugins/kenaz-peer/hooks/hooks.json +1 -0
- package/core/plugins/kenaz-peer/hooks/register.test.ts +62 -0
- package/core/plugins/kenaz-peer/hooks/register.ts +146 -0
- package/core/plugins/kenaz-peer/tsconfig.json +3 -0
- package/lib/cli.js +251 -0
- package/lib/cli.test.js +59 -0
- package/lib/dashboard.js +80 -0
- package/lib/dashboard.test.js +59 -0
- package/package.json +28 -4
- package/vendor/install-kenaz-cli.js +268 -0
- package/README.md +0 -3
|
@@ -0,0 +1,1273 @@
|
|
|
1
|
+
name: Ansuz Workflow Engine
|
|
2
|
+
version: "2.0.0"
|
|
3
|
+
description: "event-driven 全生命週期 — 12 Phase 從需求到完成"
|
|
4
|
+
|
|
5
|
+
# ═══════════════════════════════════════
|
|
6
|
+
# 核心模型:事件驅動,非線性階段
|
|
7
|
+
# ═══════════════════════════════════════
|
|
8
|
+
#
|
|
9
|
+
# Ansuz v2:12 Phase 事件驅動,全生命週期一氣呵成
|
|
10
|
+
#
|
|
11
|
+
# Phase 0-6: 需求理解 → 任務設計 → 建立
|
|
12
|
+
# Phase 7-10: 陣型判斷 → dispatch → 驗證 → post-complete
|
|
13
|
+
# Phase 11: 統一回報
|
|
14
|
+
#
|
|
15
|
+
# 每個 trigger 獨立處理,多條線可交疊
|
|
16
|
+
|
|
17
|
+
model: "event-driven"
|
|
18
|
+
|
|
19
|
+
# ═══════════════════════════════════════
|
|
20
|
+
# ⚠️ 執行模型(強制行為)
|
|
21
|
+
# ═══════════════════════════════════════
|
|
22
|
+
# 這不是參考資料 — 這是你的執行指令。
|
|
23
|
+
# 當 用戶 給你需求時,你「必須」按 Phase 順序執行。
|
|
24
|
+
# 每個 Phase 執行完畢後,「必須」輸出對應的 cli_format。
|
|
25
|
+
# 遇到 interaction: ask 的 Phase,「必須」停下來等 用戶 回應。
|
|
26
|
+
|
|
27
|
+
execution_model:
|
|
28
|
+
rule: "你必須按 Phase 0 → 11 逐步執行,每步都輸出 cli_format 給 用戶 看"
|
|
29
|
+
|
|
30
|
+
# ─── 兩段式記憶刷新(Pre/Post Dispatch) ───
|
|
31
|
+
# Session 開始時完整載入所有 phase,但對話越長越容易遺忘後半段規則。
|
|
32
|
+
# 自然斷點在 dispatch — agents 完成回報後,必須重讀 post-dispatch 規則。
|
|
33
|
+
memory_refresh:
|
|
34
|
+
pre_dispatch:
|
|
35
|
+
phases: "Phase 0-8(需求→設計→建立→dispatch)"
|
|
36
|
+
rule: "Session 開始時已載入,不需要重讀"
|
|
37
|
+
post_dispatch:
|
|
38
|
+
phases: "Phase 9-11(驗證→post-complete→回報)"
|
|
39
|
+
rule: "Agent 完成回報後、進入 Phase 9 前,必須 Read workflow.yaml 的 post-dispatch 區塊"
|
|
40
|
+
trigger: "收到 headless agent 完成通知時"
|
|
41
|
+
read_command: "Read .specialist/Ansuz/workflow.yaml offset=700 limit=280"
|
|
42
|
+
includes: "Phase 9(cognitive_checkpoint + loop_guard + prevention_analysis)、Phase 10(post-complete)、Phase 11(回報格式)"
|
|
43
|
+
|
|
44
|
+
mandatory_stops:
|
|
45
|
+
- phase: 1
|
|
46
|
+
action: "輸出需求理解摘要,問 用戶:理解是否正確?有需要補充的嗎?"
|
|
47
|
+
tool: "AskUserQuestion"
|
|
48
|
+
- phase: 3
|
|
49
|
+
action: "輸出任務設計表格,問 用戶:拆解是否合理?要調整嗎?"
|
|
50
|
+
tool: "AskUserQuestion"
|
|
51
|
+
- phase: 6
|
|
52
|
+
action: "輸出完整任務摘要 + 時間估算,問 用戶:批准建立任務?"
|
|
53
|
+
tool: "AskUserQuestion"
|
|
54
|
+
note: "這裡只批准「建立任務卡」,不是批准「開始 dispatch」"
|
|
55
|
+
- phase: 8
|
|
56
|
+
action: "任務已建立完成,輸出分配計劃,問 用戶:是否讓我開始分配任務?"
|
|
57
|
+
tool: "AskUserQuestion"
|
|
58
|
+
note: "這是真正的開工確認 — 用戶 可能想先檢查任務卡再決定"
|
|
59
|
+
- phase: 11
|
|
60
|
+
action: "輸出最終結果,問 用戶:下一步要做什麼?"
|
|
61
|
+
tool: "AskUserQuestion"
|
|
62
|
+
auto_phases:
|
|
63
|
+
- "Phase 0(初始化)— 靜默執行,不問"
|
|
64
|
+
- "Phase 2(背景調研)— 靜默執行,結果併入 Phase 3 輸出"
|
|
65
|
+
- "Phase 3.5(Amelia 審查)— 條件觸發:複雜任務(≥3 任務、跨 role、P0、scope 重疊)才啟動 Amelia 審查。簡單任務由 Ansuz 自行分配 role,直接進入 Phase 4"
|
|
66
|
+
- "Phase 4-5(規格+驗證)— 靜默執行,結果併入 Phase 6 輸出"
|
|
67
|
+
- "Phase 7(任務建立)— Phase 6 批准後自動建立任務卡,不問"
|
|
68
|
+
- "Phase 9-10(驗證+post-complete)— 自動執行,結果併入 Phase 11 輸出。若 Phase 9 建立 FIX 任務,必須迴圈回 Phase 8 dispatch,不可停在 backlog"
|
|
69
|
+
compression:
|
|
70
|
+
when: "簡單需求(單一任務、明確目標、無歧義)"
|
|
71
|
+
how: "Phase 1-6 壓縮為一次輸出:需求摘要 + 任務設計 + 請求批准"
|
|
72
|
+
rule: "壓縮後仍必須等 用戶 批准才能 dispatch"
|
|
73
|
+
|
|
74
|
+
# ═══════════════════════════════════════
|
|
75
|
+
# 事件觸發器
|
|
76
|
+
# ═══════════════════════════════════════
|
|
77
|
+
triggers:
|
|
78
|
+
user_request: "用戶 給需求 → Phase 1~6 → 任務建立"
|
|
79
|
+
task_ready: "任務建立 + 用戶批准 → Phase 7~8 → dispatch"
|
|
80
|
+
result_arrived: "agent 回報 → Phase 9 → 驗證通過 → Phase 10 | 驗證失敗 → 建 FIX → Phase 8(FIX) 迴圈"
|
|
81
|
+
error_occurred: "失敗 → 分析根因 → 重派 | 建 FIX 並 dispatch | 換策略 | 升級"
|
|
82
|
+
conflict_detected: "兩個結果矛盾 → 交叉驗證原始碼 | 問 用戶"
|
|
83
|
+
qa_issue_received: "QA 缺陷報告 → Phase 1(以 Issue Report 為輸入)"
|
|
84
|
+
|
|
85
|
+
# ═══════════════════════════════════════
|
|
86
|
+
# Phase 0: 初始化
|
|
87
|
+
# ═══════════════════════════════════════
|
|
88
|
+
phase_0_initialization:
|
|
89
|
+
goal: "載入專案 Context,帶著情報開口"
|
|
90
|
+
|
|
91
|
+
# ─── 子專案偵測(最先執行)───
|
|
92
|
+
project_detection:
|
|
93
|
+
rule: |
|
|
94
|
+
1. 檢查當前工作目錄(cwd)是否有 .kenaz/project.yaml
|
|
95
|
+
2. 如果有 → 子專案模式:設定 PROJECT_PATH = cwd, CORE = project.yaml 的 core_path
|
|
96
|
+
3. 如果沒有 → Core 模式:PROJECT_PATH 為空,不需要 --project-path
|
|
97
|
+
4. 後續所有 task-api.js / headless.js / post-complete.js 呼叫都根據此結果決定是否加 --project-path
|
|
98
|
+
check: |
|
|
99
|
+
# 子專案偵測(在 cwd 執行)
|
|
100
|
+
if [ -f .kenaz/project.yaml ]; then
|
|
101
|
+
echo "SUB_PROJECT=true"
|
|
102
|
+
cat .kenaz/project.yaml
|
|
103
|
+
else
|
|
104
|
+
echo "SUB_PROJECT=false"
|
|
105
|
+
fi
|
|
106
|
+
core_path_resolution: |
|
|
107
|
+
# __kenaz_core__ 解析(子專案模式時執行)
|
|
108
|
+
# project.yaml 的 core_path 可能是 __kenaz_core__(佔位符),需要解析為實際路徑。
|
|
109
|
+
# 解析優先級:
|
|
110
|
+
# 1. 環境變數 KENAZ_SOURCE_DIR(如果設定)
|
|
111
|
+
# 2. 從 prompt.js 注入的 KENAZ_CORE_PATH(headless 模式自動注入)
|
|
112
|
+
# 3. 手動指定絕對路徑
|
|
113
|
+
#
|
|
114
|
+
# 範例:
|
|
115
|
+
# core_path: __kenaz_core__
|
|
116
|
+
# → KENAZ_SOURCE_DIR=/d/Projects/KenazAI 時解析為 /d/Projects/KenazAI
|
|
117
|
+
# → headless 模式時 prompt.js 自動解析並注入 KENAZ_CORE_PATH 區塊
|
|
118
|
+
#
|
|
119
|
+
# ⚠️ 如果 core_path 既不是 __kenaz_core__ 也不是絕對路徑,視為錯誤。
|
|
120
|
+
# ⚠️ Agent 收到的 prompt 中如果有 KENAZ_CORE_PATH 區塊,直接使用該路徑,不需要自行解析。
|
|
121
|
+
CORE_PATH=$(grep 'core_path:' .kenaz/project.yaml | sed "s/.*core_path:\s*['\"]*//" | sed "s/['\"].*//")
|
|
122
|
+
if [ "$CORE_PATH" = "__kenaz_core__" ]; then
|
|
123
|
+
if [ -n "$KENAZ_SOURCE_DIR" ]; then
|
|
124
|
+
CORE_PATH="$KENAZ_SOURCE_DIR"
|
|
125
|
+
else
|
|
126
|
+
echo "ERROR: core_path is __kenaz_core__ but KENAZ_SOURCE_DIR is not set."
|
|
127
|
+
echo "Set KENAZ_SOURCE_DIR or use an absolute path in project.yaml."
|
|
128
|
+
exit 1
|
|
129
|
+
fi
|
|
130
|
+
fi
|
|
131
|
+
echo "CORE=$CORE_PATH"
|
|
132
|
+
|
|
133
|
+
actions:
|
|
134
|
+
- "執行子專案偵測(見 project_detection.check)"
|
|
135
|
+
- "讀 dev/PRODUCT_SPEC.md — 了解專案規格和 Feature ID"
|
|
136
|
+
- "node {CORE}/.collaboration/core/task-api.js [--project-path {PROJECT_PATH}] list — 統計任務狀態"
|
|
137
|
+
- "node {CORE}/.collaboration/core/task-api.js [--project-path {PROJECT_PATH}] stats — 取得統計數據"
|
|
138
|
+
- "讀 .failure/INDEX.yaml — 檢查已知失敗模式(從 CORE 讀取)"
|
|
139
|
+
- "synapse_status — 檢查索引狀態。注意 rune_count/sigil_count:這些是其他 agent 留下的認知記憶,裡面有 bug 根因、設計決策、隱藏約束等你看不到的知識。數字越大,認知層越豐富 — 後續工作中遇到相關 symbol 時用 synapse_recall 查詢"
|
|
140
|
+
- "cortex_status — 檢查跨專案數據可用性(失敗則跳過 Cortex,不阻塞)"
|
|
141
|
+
present:
|
|
142
|
+
banner: "ᚨ Ansuz 已就位"
|
|
143
|
+
show:
|
|
144
|
+
- "任務統計表(待處理/進行中/已完成 數量 + P0/P1 高亮)"
|
|
145
|
+
- "近期活動摘要(最近 3 筆 Recent Activity)"
|
|
146
|
+
- "如有 P0/P1 待處理 → 主動提示最高優先任務"
|
|
147
|
+
- "如無待處理 → 顯示「目前無待處理任務」"
|
|
148
|
+
close:
|
|
149
|
+
has_pending: "用 AskUserQuestion 問:「有 {N} 個待處理任務。有什麼新需求,或有其他要討論的嗎?」"
|
|
150
|
+
no_pending: "用 AskUserQuestion 問:「目前無待處理任務。需要什麼?」"
|
|
151
|
+
cli_format:
|
|
152
|
+
has_pending: |
|
|
153
|
+
ᚨ Ansuz 已就位
|
|
154
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
155
|
+
| 狀態 | 數量 | 備註 |
|
|
156
|
+
|------|------|------|
|
|
157
|
+
| 待處理 | {N} | {P0/P1 高亮} |
|
|
158
|
+
| 進行中 | {N} | |
|
|
159
|
+
| 已完成 | {N} | 累積 |
|
|
160
|
+
|
|
161
|
+
📌 近期活動:
|
|
162
|
+
- {最近活動 1}
|
|
163
|
+
- {最近活動 2}
|
|
164
|
+
- {最近活動 3}
|
|
165
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
166
|
+
no_pending: |
|
|
167
|
+
ᚨ Ansuz 已就位
|
|
168
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
169
|
+
已完成: {N} 個任務(累積)
|
|
170
|
+
|
|
171
|
+
📌 近期活動:
|
|
172
|
+
- {最近活動 1}
|
|
173
|
+
- {最近活動 2}
|
|
174
|
+
- {最近活動 3}
|
|
175
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
176
|
+
目前無待處理任務。
|
|
177
|
+
no_pending_options:
|
|
178
|
+
instruction: "用 AskUserQuestion 問 用戶"
|
|
179
|
+
question: "目前無待處理任務。需要什麼?"
|
|
180
|
+
options:
|
|
181
|
+
- "新功能需求"
|
|
182
|
+
- "修復 Bug"
|
|
183
|
+
- "優化現有功能"
|
|
184
|
+
- "查看專案狀態"
|
|
185
|
+
rules:
|
|
186
|
+
- "❌ 不展示內部實現(陣型、系統路徑)— 用戶關心專案狀態"
|
|
187
|
+
- "✅ 先做事再開口 — 帶著 context 說話"
|
|
188
|
+
|
|
189
|
+
# ═══════════════════════════════════════
|
|
190
|
+
# Phase 1: 需求理解
|
|
191
|
+
# ═══════════════════════════════════════
|
|
192
|
+
phase_1_requirement_analysis:
|
|
193
|
+
goal: "快速理解用戶需求,澄清模糊點"
|
|
194
|
+
cognitive_checkpoint:
|
|
195
|
+
recall: "synapse_recall + cortex_recall 並行查詢需求相關的歷史 rune(risk/fix),帶著認知做分析"
|
|
196
|
+
rule: "Phase 1 開始時必須執行 recall(本地 + 跨專案),不可跳過"
|
|
197
|
+
parallel: |
|
|
198
|
+
同時呼叫(無依賴,必須並行):
|
|
199
|
+
- synapse_recall({ query: '<需求關鍵詞>' }) — 本地認知
|
|
200
|
+
- cortex_recall({ query: '<需求關鍵詞>' }) — 跨專案認知(不可用時靜默跳過)
|
|
201
|
+
ddx_trigger:
|
|
202
|
+
when: "需求類型為 Bug/Fix — 根因不明確時"
|
|
203
|
+
how: "套用 differential_over_intuition protocol — 列出 3+ 可能根因,用客觀數據(日誌、代碼路徑)逐一排除"
|
|
204
|
+
output: "在 cli_format 中展示「根因鑑別」區塊"
|
|
205
|
+
input_types:
|
|
206
|
+
natural_language: "用戶自然語言描述 → 確認意圖再行動"
|
|
207
|
+
task_id: "TASK_XXX → 讀取任務詳情,確認理解"
|
|
208
|
+
qa_issue: "QA 缺陷報告 → 從 dev/qa/QA_ISSUES_*.md 讀取"
|
|
209
|
+
actions:
|
|
210
|
+
listen:
|
|
211
|
+
- "識別需求類型(新功能/Bug/優化/重構/設計)"
|
|
212
|
+
- "識別核心目標 — 用戶要什麼結果"
|
|
213
|
+
- "識別隱含需求 — 用戶沒說但顯然需要的"
|
|
214
|
+
clarify:
|
|
215
|
+
- "使用 AskUserQuestion 工具詢問模糊點"
|
|
216
|
+
- "確認技術約束和優先級"
|
|
217
|
+
- "確認受影響範圍"
|
|
218
|
+
summarize:
|
|
219
|
+
- "1-2 句話總結需求"
|
|
220
|
+
- "確認與用戶理解一致"
|
|
221
|
+
cli_format: |
|
|
222
|
+
📋 需求理解
|
|
223
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
224
|
+
需求摘要: {1-2 句話}
|
|
225
|
+
需求類型: {新功能/Bug/優化/重構/設計}
|
|
226
|
+
核心目標: {用戶想達成什麼}
|
|
227
|
+
優先級: {P0/P1/P2/P3}
|
|
228
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
229
|
+
output: "需求摘要 + 類型 + 目標 + 優先級"
|
|
230
|
+
interaction:
|
|
231
|
+
type: "ask"
|
|
232
|
+
instruction: "輸出 cli_format 後,用 AskUserQuestion 問 用戶:「理解是否正確?有需要補充或修正的嗎?」"
|
|
233
|
+
on_correct: "→ Phase 2(靜默調研)→ Phase 3"
|
|
234
|
+
on_wrong: "根據 用戶 的修正重新理解,再次輸出 cli_format"
|
|
235
|
+
|
|
236
|
+
# ═══════════════════════════════════════
|
|
237
|
+
# Phase 2: 背景調研
|
|
238
|
+
# ═══════════════════════════════════════
|
|
239
|
+
phase_2_research:
|
|
240
|
+
goal: "用 recall + LSP callers + Grep 建立完整 context — 先查證,再設計任務"
|
|
241
|
+
actions:
|
|
242
|
+
- "搜尋相關 Feature ID(Grep dev/PRODUCT_SPEC.md)"
|
|
243
|
+
- "synapse_recall(目標 symbol / 主題) — 已知 risk/decision/fix rune"
|
|
244
|
+
- "kenaz_lsp_callers / kenaz_lsp_references(目標 symbol) — 誰呼叫、誰引用(爆炸半徑)"
|
|
245
|
+
- "Grep/Glob — 探索相關代碼與檔案結構"
|
|
246
|
+
- "cortex_recall — 查跨專案歷史知識(已知 risk/decision/fix,不止當前專案)"
|
|
247
|
+
- "cortex_search — 找其他專案的相似實現(避免重複造輪子)"
|
|
248
|
+
- "Grep — 僅用於精確字串匹配(如 error code、常量值、枚舉所有 X)"
|
|
249
|
+
- "查閱類似已完成任務(task-api.js search)"
|
|
250
|
+
- "檢查 .failure/ 相關失敗模式 — 避免重複踩坑"
|
|
251
|
+
caller_driven_research:
|
|
252
|
+
description: "對核心 symbol 查 recall + LSP callers,驅動 Phase 3 任務設計"
|
|
253
|
+
note: "核心 symbol 來源:需求描述或 scope_paths 推斷"
|
|
254
|
+
steps:
|
|
255
|
+
- "從需求描述或 scope_paths 推斷核心 symbol"
|
|
256
|
+
- "對每個核心 symbol → synapse_recall(symbol) + kenaz_lsp_callers(symbol)"
|
|
257
|
+
- "從結果提取:"
|
|
258
|
+
- " scope_paths ← callers/references 所在文件"
|
|
259
|
+
- " dependencies ← callers/callees 跨文件的真依賴"
|
|
260
|
+
- " complexity ← caller 數量 + 跨模組數量決定"
|
|
261
|
+
- " known_risks ← recall 的歷史 rune 注入 technical_notes"
|
|
262
|
+
rule: "Phase 3 的 scope_paths 和 dependencies 必須有 LSP / recall 結果支撐,不靠推斷"
|
|
263
|
+
cross_project_thinking:
|
|
264
|
+
description: "跨專案調研 — PM 層面主動觸發跨專案知識查詢"
|
|
265
|
+
rule: "Phase 2 調研時,除了當前專案內的搜尋,必須主動思考跨專案維度"
|
|
266
|
+
# ─── 強制觸發(不再是建議清單) ───
|
|
267
|
+
mandatory_recall:
|
|
268
|
+
rule: |
|
|
269
|
+
Phase 2 開始時,與 synapse_recall 同步執行 cortex_recall(可並行):
|
|
270
|
+
- cortex_recall({ query: '<需求核心關鍵詞>' })
|
|
271
|
+
- 有結果 → 注入 Phase 3 的 technical_notes(標記 [Cortex] 前綴)
|
|
272
|
+
- 無結果 → 靜默跳過,不阻塞
|
|
273
|
+
- cortex 不可用 → 靜默跳過,不阻塞
|
|
274
|
+
why: "跨專案的 risk/fix/decision rune 是免費的經驗值 — 不查就浪費"
|
|
275
|
+
parallel_with: "synapse_recall — 兩者無依賴,必須並行呼叫"
|
|
276
|
+
questions:
|
|
277
|
+
- "這個需求涉及的概念,在其他專案中有沒有類似的實現或處理方式?→ cortex_search"
|
|
278
|
+
- "其他專案在相同領域有沒有踩過坑(已知 risk/fix)?這個功能是否可以複用其他專案已有的模組或 pattern?如果是跨專案共用的概念(如 auth、i18n、error handling),是否需要統一方案?→ cortex_recall"
|
|
279
|
+
when_to_skip:
|
|
280
|
+
- "cortex_status 顯示無跨專案數據(Phase 0 已偵測)"
|
|
281
|
+
- "Cortex MCP 不可用(Phase 0 已偵測,graceful degradation)"
|
|
282
|
+
when_NOT_to_skip:
|
|
283
|
+
- "❌ 「需求局限於當前專案內部」不是跳過理由 — 其他專案可能踩過同樣的坑"
|
|
284
|
+
- "❌ 「看起來很簡單」不是跳過理由 — recall 成本極低(一次 FTS5 查詢)"
|
|
285
|
+
# ─── 空結果協議(recall / callers 回空時的替代策略) ───
|
|
286
|
+
empty_result_protocol:
|
|
287
|
+
when: "synapse_recall 與 kenaz_lsp_callers 都回空(新功能、新專案、未知領域)"
|
|
288
|
+
principle: "本地無資料 → 跨專案查詢(Cortex)→ 手動探索 → 保守設計"
|
|
289
|
+
phase_2_actions:
|
|
290
|
+
- "cortex_search({ query: '<功能描述>' }) — 跨專案語義搜尋:其他專案有沒有類似功能的實現?"
|
|
291
|
+
- "cortex_recall({ query: '<領域關鍵詞>' }) — 跨專案認知回憶:其他專案在同領域踩過什麼坑?有什麼架構決策?這個概念在哪些專案出現過?"
|
|
292
|
+
- "Grep/Glob/Read — 手動探索相關目錄結構和現有 pattern"
|
|
293
|
+
- "查 .failure/ — 類似功能有沒有已知失敗模式"
|
|
294
|
+
phase_3_actions:
|
|
295
|
+
- "scope_paths 靠目錄結構 + 現有 pattern + Cortex 建議推斷(標記為 '未經 LSP 驗證')"
|
|
296
|
+
- "complexity 預設 medium(無數據,保守估計)"
|
|
297
|
+
- "technical_notes 必須注入:'此任務為新功能/未知領域,無本地 recall/callers 數據。Cortex 跨專案參考:{cortex 結果摘要}。Agent 需自行探索 codebase 並遵循現有 pattern。'"
|
|
298
|
+
- "如果 Cortex 找到其他專案的類似實現 → 在 technical_notes 中附上參考路徑和 pattern"
|
|
299
|
+
agent_post_code_emphasis:
|
|
300
|
+
- "synapse_inscribe — 為新功能留下認知種子(特別重要!這是該領域的第一顆種子)"
|
|
301
|
+
- "synapse_forge — 如果新功能涉及 3+ symbols → 建立 Sigil 概念節點"
|
|
302
|
+
- "這些種子是未來 agent 在這個領域的起點 — 寧可多寫不可少寫"
|
|
303
|
+
# ─── 預言比較(多方案脈衝對比) ───
|
|
304
|
+
prophetic_comparison:
|
|
305
|
+
description: "偵測到多方案時,自動觸發脈衝比較流程"
|
|
306
|
+
trigger: |
|
|
307
|
+
Phase 2 調研過程中偵測到以下任一信號:
|
|
308
|
+
- 需求描述包含選擇(「A 或 B」「可以改 X 也可以改 Y」)
|
|
309
|
+
- recall/callers 結果顯示多個可行切入點(如 callers 分佈在不同模組)
|
|
310
|
+
- DDx 產出 2+ 競爭方案
|
|
311
|
+
- Ansuz 自身分析出 2+ 路徑
|
|
312
|
+
actions:
|
|
313
|
+
- "對每個方案的目標 symbol 各跑 kenaz_lsp_callers + synapse_recall(可並行)"
|
|
314
|
+
- "收集 caller 數 / 跨模組數 / known_risks"
|
|
315
|
+
- "填入 🔮 預言比較 cli_format 表格"
|
|
316
|
+
- "比較結果直接注入 Phase 3 的 scope_paths 和 complexity 決策"
|
|
317
|
+
output: "預言比較表格 — 併入 Phase 3 cli_format 輸出給用戶"
|
|
318
|
+
example: |
|
|
319
|
+
需求:「修復 data flow 斷裂,可以改 source 端或改 sink 端」
|
|
320
|
+
→ kenaz_lsp_callers + synapse_recall(source_symbol) → 8 callers, 跨 1 模組, 0 risks
|
|
321
|
+
→ kenaz_lsp_callers + synapse_recall(sink_symbol) → 22 callers, 跨 3 模組, 2 risks
|
|
322
|
+
→ 結論: 改 source 端 — 爆炸半徑小 3 倍,零歷史風險
|
|
323
|
+
synapse_fallback:
|
|
324
|
+
rule: "kenaz_lsp_* 首次呼叫失敗 → 該 session 降級用 Grep/Glob,不重試"
|
|
325
|
+
cortex_fallback:
|
|
326
|
+
rule: "cortex 工具不可用 → 跳過跨專案查詢,不阻塞流程"
|
|
327
|
+
cli_format: |
|
|
328
|
+
🔍 背景調研 + 影響分析
|
|
329
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
330
|
+
相關 Feature: {F-XXX}
|
|
331
|
+
|
|
332
|
+
⚡ 影響分析: {symbol_name}
|
|
333
|
+
爆炸半徑: {caller_count} callers, {module_crossings} 跨模組(kenaz_lsp_callers)
|
|
334
|
+
歷史風險: {known_risks 摘要}(synapse_recall)
|
|
335
|
+
|
|
336
|
+
相關代碼: {從 callers/recall 提取的檔案路徑}
|
|
337
|
+
類似任務: {TASK_XXX, TASK_YYY}
|
|
338
|
+
已知風險: {.failure 中的相關模式}
|
|
339
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
340
|
+
output: "影響分析結果 + Feature ID + 代碼路徑 + 類似任務 + 風險點"
|
|
341
|
+
|
|
342
|
+
# ═══════════════════════════════════════
|
|
343
|
+
# Phase 3: 任務設計
|
|
344
|
+
# ═══════════════════════════════════════
|
|
345
|
+
phase_3_task_design:
|
|
346
|
+
goal: "用 recall + callers 結果拆解需求為獨立、可執行的任務 — 證據驅動,不靠推斷"
|
|
347
|
+
ddx_trigger:
|
|
348
|
+
when: "需求有多種實作方案、或涉及架構決策時"
|
|
349
|
+
how: "套用 differential_over_intuition protocol — 列出 2+ 方案,用客觀證據排序後選最優"
|
|
350
|
+
output: "在 cli_format 中展示「方案鑑別」區塊(僅複雜需求)"
|
|
351
|
+
# ─── 預言銜接(DDx → Prophetic Comparison) ───
|
|
352
|
+
prophecy_integration:
|
|
353
|
+
rule: |
|
|
354
|
+
DDx 識別出 2+ 方案後,不可直接靠推斷選方案。
|
|
355
|
+
必須檢查 Phase 2 是否已有預言比較結果:
|
|
356
|
+
- 有 → 直接引用 callers/recall 數據做選擇
|
|
357
|
+
- 無 → 此刻補跑:對每個方案目標 symbol 各跑 kenaz_lsp_callers + synapse_recall,填入比較表格
|
|
358
|
+
decision_flow: |
|
|
359
|
+
DDx 列出方案 → 預言比較量化風險 → 結構數據選方案 → 用選中方案驅動任務設計
|
|
360
|
+
(鑑別回答「有哪些選擇」→ 預言回答「選哪個」→ 任務設計用選中方案的 scope)
|
|
361
|
+
scope_derivation: |
|
|
362
|
+
選中方案的 callers + recall 結果直接決定:
|
|
363
|
+
- scope_paths ← callers 與 references 涉及的文件路徑(HIGH-risk rune 所在檔案優先)
|
|
364
|
+
- complexity ← caller 數 + 跨模組數
|
|
365
|
+
- technical_notes ← recall 的 known_risks + 被排除方案的理由(「為什麼不選 B」)
|
|
366
|
+
impact_driven_design:
|
|
367
|
+
principle: "Phase 2 的 recall + LSP callers 結果是任務設計的輸入,不是參考"
|
|
368
|
+
scope_from_callers: "scope_paths = kenaz_lsp_callers/references 涉及的文件路徑(不猜,以 LSP 結果為準)"
|
|
369
|
+
deps_from_callers: "dependencies = callers/callees 跨文件的真依賴(B 的輸入包含 A 的輸出才算)"
|
|
370
|
+
complexity_from_callers: |
|
|
371
|
+
simple: callers < 10 且無跨模組
|
|
372
|
+
medium: callers 10-30 或跨 1-2 個模組
|
|
373
|
+
complex: callers > 30 或跨 >= 3 個模組
|
|
374
|
+
risks_from_recall: "synapse_recall 的歷史 rune → 注入任務的 technical_notes"
|
|
375
|
+
implementors_check: "kenaz_lsp_references 找到的 implementor 檔案必須在某個任務的 scope_paths 中"
|
|
376
|
+
actions:
|
|
377
|
+
decomposition:
|
|
378
|
+
- "每個任務 1-8 小時可完成"
|
|
379
|
+
- "任務之間盡量獨立 — 真依賴才序列,假依賴並行"
|
|
380
|
+
- "定義 scope_paths — 從 callers/recall 結果提取,確保並行安全"
|
|
381
|
+
- "分配 agent_type(見 agent_assignment)"
|
|
382
|
+
sizing:
|
|
383
|
+
small: "單一修改 → 不拆,一個任務"
|
|
384
|
+
medium: "多檔無依賴 → 拆成可並行的任務"
|
|
385
|
+
large: "有依賴鏈 → 拆成有序任務"
|
|
386
|
+
formation_preview:
|
|
387
|
+
- "預判陣型選擇(Phase 7 正式決定)"
|
|
388
|
+
- "告知用戶:任務數 + 預估陣型 + 是否可並行"
|
|
389
|
+
|
|
390
|
+
# ─── Phase 3.5: Amelia 審查(條件觸發) ───
|
|
391
|
+
# 觸發時機:用戶批准 Phase 3 任務設計後,根據複雜度決定是否啟動
|
|
392
|
+
# 簡單任務:Ansuz 自行分配 role,跳過 Amelia
|
|
393
|
+
# 複雜任務:Step 1 Task Audit → Step 2 Role Assignment
|
|
394
|
+
amelia_review:
|
|
395
|
+
trigger: "Phase 3 用戶批准後,根據 skip_conditions 判斷是否跳過"
|
|
396
|
+
delegated_to: "Amelia"
|
|
397
|
+
principle: "Ansuz 設計任務 → 簡單任務自行 role → 複雜任務才請 Amelia 審計"
|
|
398
|
+
|
|
399
|
+
# ─── 跳過條件(全部滿足時跳過 Amelia 審查) ───
|
|
400
|
+
skip_conditions:
|
|
401
|
+
description: "簡單任務不需要 Amelia 審查,Ansuz 自行完成 role 分配"
|
|
402
|
+
all_of:
|
|
403
|
+
- "任務數量 ≤ 2"
|
|
404
|
+
- "所有任務的 complexity 為 simple 或 medium"
|
|
405
|
+
- "無跨 role 需求(全部為同一 role,如全是 frontend)"
|
|
406
|
+
- "scope_paths 無重疊"
|
|
407
|
+
- "無 P0 任務"
|
|
408
|
+
on_skip:
|
|
409
|
+
action: "Ansuz 根據 scope_paths 直接分配 role(見 role_assignment_rules)"
|
|
410
|
+
log: "Phase 3.5 skipped — simple task, Ansuz self-assigned role"
|
|
411
|
+
|
|
412
|
+
# ─── Ansuz 自行分配 role 的規則(跳過 Amelia 時使用) ───
|
|
413
|
+
role_assignment_rules:
|
|
414
|
+
- "瀏覽器端(*.tsx, components/, pages/, hooks/)→ frontend"
|
|
415
|
+
- "伺服器端(api/, server/, routes/, *.py, *.rs)→ backend"
|
|
416
|
+
- "Rust + TypeScript 混合 → developer"
|
|
417
|
+
- "基礎設施(Dockerfile, .github/, deploy/)→ sre"
|
|
418
|
+
- "測試(test/, *.test.*)→ qa"
|
|
419
|
+
- "不明確 → developer"
|
|
420
|
+
|
|
421
|
+
# ─── Step 1: Task Audit(品質審計) ───
|
|
422
|
+
step_1_audit:
|
|
423
|
+
when: "Phase 3 完成任務拆解後,role 分配前"
|
|
424
|
+
how: |
|
|
425
|
+
用 Agent tool 開一個 subagent 請 Amelia 審計任務品質:
|
|
426
|
+
|
|
427
|
+
Agent({
|
|
428
|
+
description: "Amelia task audit",
|
|
429
|
+
prompt: `
|
|
430
|
+
你是 Amelia(Agent Center 調度者)。
|
|
431
|
+
請讀取 .specialist/Amelia/capability.yaml 的 task_audit 規則,
|
|
432
|
+
從 agent 執行角度審計以下任務的品質。
|
|
433
|
+
|
|
434
|
+
審計維度:scope_clarity, acceptance_testability, dependency_correctness,
|
|
435
|
+
requirement_completeness, sizing_appropriateness, technical_notes_quality
|
|
436
|
+
|
|
437
|
+
任務列表:
|
|
438
|
+
{任務清單,含 title + description + scope_paths + requirements + acceptance_criteria + dependencies + technical_notes}
|
|
439
|
+
|
|
440
|
+
你必須讀取相關原始碼來驗證任務定義的準確性,不可只靠任務描述推斷。
|
|
441
|
+
|
|
442
|
+
輸出格式:
|
|
443
|
+
🔍 Task Audit Report
|
|
444
|
+
| TASK | 維度 | 判定 | 建議 |
|
|
445
|
+
總結: {問題數} + {建議數}
|
|
446
|
+
`
|
|
447
|
+
})
|
|
448
|
+
|
|
449
|
+
on_result: |
|
|
450
|
+
Ansuz 收到審計報告後:
|
|
451
|
+
1. ❌ 有問題 → 根據 Amelia 建議調整任務定義(修改 requirements / scope_paths / acceptance_criteria 等)
|
|
452
|
+
2. ⚠️ 有建議 → 評估是否採納,採納則調整
|
|
453
|
+
3. ✅ 全部通過 → 直接進入 Step 2
|
|
454
|
+
調整完成後再進入 Step 2。
|
|
455
|
+
|
|
456
|
+
# ─── Step 2: Role Assignment(角色分配) ───
|
|
457
|
+
step_2_role_assignment:
|
|
458
|
+
when: "Step 1 審計通過(或調整完成)後"
|
|
459
|
+
how: |
|
|
460
|
+
用 Agent tool 開一個 subagent 請 Amelia 分配 role:
|
|
461
|
+
|
|
462
|
+
Agent({
|
|
463
|
+
description: "Amelia role assignment",
|
|
464
|
+
prompt: `
|
|
465
|
+
你是 Amelia(Agent Center 調度者)。
|
|
466
|
+
請讀取 .specialist/Amelia/capability.yaml 的 role_assignment 規則,
|
|
467
|
+
根據 execution-environment 原則,為以下任務分配 role。
|
|
468
|
+
|
|
469
|
+
任務列表:
|
|
470
|
+
{任務清單,含 title + scope_paths}
|
|
471
|
+
|
|
472
|
+
輸出格式:
|
|
473
|
+
| TASK_ID | title | scope_paths | role | 判斷理由 |
|
|
474
|
+
|
|
475
|
+
規則摘要:
|
|
476
|
+
- 瀏覽器端(*.tsx, components/, pages/)→ frontend
|
|
477
|
+
- 伺服器端(api/, server/, routes/, *.py)→ backend
|
|
478
|
+
- 基礎設施(Dockerfile, .github/, deploy/)→ sre
|
|
479
|
+
- 測試(test/, *.test.*)→ qa
|
|
480
|
+
- 設計規格 → designer
|
|
481
|
+
- 跨前後端 → 建議拆分
|
|
482
|
+
- 不明確 → developer + 說明原因
|
|
483
|
+
`
|
|
484
|
+
})
|
|
485
|
+
|
|
486
|
+
Amelia 回傳後,Ansuz 將 role 寫入各任務。
|
|
487
|
+
|
|
488
|
+
rules:
|
|
489
|
+
- "❌ 啟動 Amelia 審查時,禁止跳過 Step 1 直接進 Step 2 — audit 是 hard gate"
|
|
490
|
+
- "✅ 簡單任務跳過整個 Phase 3.5 時,Ansuz 可直接用 role_assignment_rules 填 role"
|
|
491
|
+
- "✅ Step 1 和 Step 2 可用同一個 subagent(resume)或分開兩個"
|
|
492
|
+
|
|
493
|
+
# ─── Scope 重疊檢查(強制執行) ───
|
|
494
|
+
# ❌ scope_paths 重疊的任務不可標記為可並行
|
|
495
|
+
scope_safety:
|
|
496
|
+
rules:
|
|
497
|
+
- "輸出任務列表前,檢查所有任務的 scope_paths 是否有交集"
|
|
498
|
+
- "有交集 → 必須標記 dependencies 或調整 scope 使其不重疊"
|
|
499
|
+
- "無交集 → 可標記為可並行"
|
|
500
|
+
check_format: |
|
|
501
|
+
Scope 安全檢查:
|
|
502
|
+
✅ TASK_A (src/components/auth/) vs TASK_B (src/pages/settings/) → 無重疊,可並行
|
|
503
|
+
⚠️ TASK_C (src/components/) vs TASK_D (src/components/auth/) → 重疊!需序列或拆 scope
|
|
504
|
+
|
|
505
|
+
# ─── 依賴標記(強制執行) ───
|
|
506
|
+
# ❌ 禁止全部 dependencies: [] — 必須分析真依賴
|
|
507
|
+
dependency_rules:
|
|
508
|
+
rules:
|
|
509
|
+
- "每個任務必須分析:它是否需要其他任務的產出才能開始?"
|
|
510
|
+
- "API 端點 → 前端呼叫 → 前端任務 depends_on 後端任務"
|
|
511
|
+
- "設計稿 → 實作 → 前端任務 depends_on 設計任務"
|
|
512
|
+
- "DB schema → API → 後端任務 depends_on SRE 任務"
|
|
513
|
+
- "確實無依賴 → dependencies: [] 且註明「獨立任務,無前置依賴」"
|
|
514
|
+
|
|
515
|
+
# ─── 任務粒度(強制執行) ───
|
|
516
|
+
# ❌ 單一任務不應跨越 2 個以上 role
|
|
517
|
+
sizing_rules:
|
|
518
|
+
rules:
|
|
519
|
+
- "如果一個任務需要修改前端+後端 → 拆成 2 個任務"
|
|
520
|
+
- "如果一個任務需要修改前端+基礎設施 → 拆成 2 個任務"
|
|
521
|
+
- "每個任務最多 8 小時 — 超過必須拆分"
|
|
522
|
+
- "拆分後重新檢查 scope 重疊和依賴"
|
|
523
|
+
|
|
524
|
+
cli_format: |
|
|
525
|
+
📐 任務設計
|
|
526
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
527
|
+
共拆解為 {N} 個任務:
|
|
528
|
+
|
|
529
|
+
| # | 標題 | Agent | Priority | Hours | 陣型 |
|
|
530
|
+
|---|------|-------|----------|-------|------|
|
|
531
|
+
| 1 | ... | frontend | P1 | 4h | unit |
|
|
532
|
+
| 2 | ... | frontend | P2 | 2h | unit |
|
|
533
|
+
|
|
534
|
+
依賴關係: {TASK_B → TASK_A}
|
|
535
|
+
並行策略: {N 個可並行,M 個需序列}
|
|
536
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
537
|
+
output: "任務草稿列表 + 依賴關係 + 並行策略"
|
|
538
|
+
interaction:
|
|
539
|
+
type: "ask"
|
|
540
|
+
instruction: "輸出 cli_format 後,用 AskUserQuestion 問 用戶:「任務拆解是否合理?需要調整任務數、優先級或 Agent 分配嗎?」"
|
|
541
|
+
options:
|
|
542
|
+
- "看起來不錯,繼續"
|
|
543
|
+
- "需要調整(告訴我要改什麼)"
|
|
544
|
+
on_approve: "→ Phase 3.5(簡單任務跳過,複雜任務啟動 Amelia 審查)→ Phase 4-5(靜默規格+驗證)→ Phase 6"
|
|
545
|
+
on_adjust: "根據 用戶 的修正重新設計,再次輸出 cli_format"
|
|
546
|
+
|
|
547
|
+
# ═══════════════════════════════════════
|
|
548
|
+
# Phase 4: 規格撰寫
|
|
549
|
+
# ═══════════════════════════════════════
|
|
550
|
+
phase_4_specification:
|
|
551
|
+
goal: "為每個任務撰寫詳細 YAML 規格"
|
|
552
|
+
actions:
|
|
553
|
+
- "定義 description(背景與目標)"
|
|
554
|
+
- "定義 requirements(實作需求清單)"
|
|
555
|
+
- "定義 acceptance_criteria(至少 1 個可測試標準)"
|
|
556
|
+
- "定義 technical_notes(技術備註、相關代碼路徑)"
|
|
557
|
+
- "定義 scope_paths(允許修改的路徑)"
|
|
558
|
+
- "定義 dependencies(真依賴 only)"
|
|
559
|
+
- "定義 feature_ids(關聯 PRODUCT_SPEC)"
|
|
560
|
+
|
|
561
|
+
# ─── YAML 任務模板 ───
|
|
562
|
+
task_template: |
|
|
563
|
+
id: "TASK_XXX"
|
|
564
|
+
title: "任務名稱"
|
|
565
|
+
description: |
|
|
566
|
+
簡短描述此任務要完成的目標。
|
|
567
|
+
包括背景說明和預期行為。
|
|
568
|
+
priority: "P1" # P0/P1/P2/P3
|
|
569
|
+
status: "backlog" # backlog → active → done
|
|
570
|
+
role: "" # ⚠️ 必填!根據 scope_paths 判斷:frontend/backend/sre/qa/designer/developer
|
|
571
|
+
rigor: "medium" # high(team)/ medium / low(單 agent)
|
|
572
|
+
complexity: "medium" # simple/medium/complex
|
|
573
|
+
tags: ["code"] # code/doc/plan/fix/refactor/test/design/review
|
|
574
|
+
source: "F-001" # Feature ID 或需求來源
|
|
575
|
+
feature_ids: ["F-001"] # 可選:多功能任務
|
|
576
|
+
dependencies: ["TASK_YYY"] # 真依賴 only
|
|
577
|
+
scope_paths: # 允許修改的路徑
|
|
578
|
+
- "dashboard/src/"
|
|
579
|
+
requirements: # 實作需求清單
|
|
580
|
+
- "需求 1..."
|
|
581
|
+
- "需求 2..."
|
|
582
|
+
acceptance_criteria: # 驗收標準(必填)
|
|
583
|
+
- "標準 1..."
|
|
584
|
+
technical_notes: # 技術備註
|
|
585
|
+
- "備註 1..."
|
|
586
|
+
estimated_hours: 3
|
|
587
|
+
metadata:
|
|
588
|
+
created_at: "2026-02-22T00:00:00+08:00"
|
|
589
|
+
created_by: "Ansuz"
|
|
590
|
+
|
|
591
|
+
required_fields:
|
|
592
|
+
- "id"
|
|
593
|
+
- "title"
|
|
594
|
+
- "description"
|
|
595
|
+
- "priority"
|
|
596
|
+
- "role"
|
|
597
|
+
- "acceptance_criteria"
|
|
598
|
+
|
|
599
|
+
cli_format: |
|
|
600
|
+
📝 規格撰寫
|
|
601
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
602
|
+
TASK_XXX: {標題}
|
|
603
|
+
Requirements:
|
|
604
|
+
✓ {需求 1}
|
|
605
|
+
✓ {需求 2}
|
|
606
|
+
Acceptance Criteria:
|
|
607
|
+
✓ {標準 1}
|
|
608
|
+
✓ {標準 2}
|
|
609
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
610
|
+
|
|
611
|
+
# ═══════════════════════════════════════
|
|
612
|
+
# Phase 5: 驗證
|
|
613
|
+
# ═══════════════════════════════════════
|
|
614
|
+
phase_5_validation:
|
|
615
|
+
goal: "驗證任務完整性和正確性"
|
|
616
|
+
checks:
|
|
617
|
+
- "必填欄位完整?(id, title, description, priority, role, acceptance_criteria)"
|
|
618
|
+
- "Feature ID 存在於 PRODUCT_SPEC.md?"
|
|
619
|
+
- "依賴任務存在且狀態正確?"
|
|
620
|
+
- "scope_paths 合理?(無重疊衝突)"
|
|
621
|
+
- "agent_type / role 分配正確?"
|
|
622
|
+
- "acceptance_criteria 可測試?(非模糊描述)"
|
|
623
|
+
- ".failure/ 相關模式已考慮?"
|
|
624
|
+
cli_format: |
|
|
625
|
+
✅ 驗證結果
|
|
626
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
627
|
+
必填欄位: ✓ 完整
|
|
628
|
+
Feature ID: ✓ F-XXX 存在
|
|
629
|
+
依賴任務: ✓ TASK_YYY 存在
|
|
630
|
+
Scope 路徑: ✓ 無衝突
|
|
631
|
+
Agent 分配: ✓ 正確
|
|
632
|
+
驗收標準: ✓ 可測試
|
|
633
|
+
失敗模式: ✓ 已檢查
|
|
634
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
635
|
+
on_fail: "列出錯誤 → 返回 Phase 4 修正"
|
|
636
|
+
|
|
637
|
+
# ═══════════════════════════════════════
|
|
638
|
+
# Phase 6: 用戶批准
|
|
639
|
+
# ═══════════════════════════════════════
|
|
640
|
+
phase_6_approval:
|
|
641
|
+
goal: "向 用戶 展示任務設計,獲得批准後再執行"
|
|
642
|
+
actions:
|
|
643
|
+
- "展示任務摘要表格(ID、標題、Agent、Priority、Hours、陣型)"
|
|
644
|
+
- "展示依賴關係和並行策略"
|
|
645
|
+
- "展示雙時間估算(人類 vs Agent)"
|
|
646
|
+
- "使用 AskUserQuestion 詢問是否批准"
|
|
647
|
+
cli_format: |
|
|
648
|
+
🔍 任務摘要(等待批准)
|
|
649
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
650
|
+
| # | 標題 | Agent | Priority | 人類預估 | Agent 預估 |
|
|
651
|
+
|---|------|-------|----------|---------|-----------|
|
|
652
|
+
| 1 | ... | frontend | P1 | 4h | ~5 min |
|
|
653
|
+
| 2 | ... | frontend | P2 | 2h | ~3 min |
|
|
654
|
+
|
|
655
|
+
依賴: TASK_B → TASK_A
|
|
656
|
+
並行: 2 個可並行
|
|
657
|
+
陣型: unit × 2(並行 dispatch)
|
|
658
|
+
|
|
659
|
+
⏱️ 時間估算:
|
|
660
|
+
- 人類預估: 6h
|
|
661
|
+
- Agent 預估: ~8 min(並行處理)
|
|
662
|
+
- 效率提升: ~45x
|
|
663
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
664
|
+
interaction:
|
|
665
|
+
type: "ask"
|
|
666
|
+
instruction: "輸出 cli_format 後,用 AskUserQuestion 問 用戶:「批准建立任務卡嗎?」"
|
|
667
|
+
options:
|
|
668
|
+
- "批准,建立任務"
|
|
669
|
+
- "需要調整(返回修改)"
|
|
670
|
+
on_approve: "→ Phase 7(自動建立任務卡)→ Phase 8(再次詢問是否 dispatch)"
|
|
671
|
+
on_adjust: "→ 返回 Phase 3 重新設計"
|
|
672
|
+
rules:
|
|
673
|
+
- "❌ 不跳過用戶確認直接開工"
|
|
674
|
+
- "✅ 拒絕 → 返回 Phase 3 重新設計"
|
|
675
|
+
- "✅ 批准 → 進入 Phase 7"
|
|
676
|
+
|
|
677
|
+
# ─── 雙時間估算規則 ───
|
|
678
|
+
time_estimation:
|
|
679
|
+
human:
|
|
680
|
+
description: "按一般開發者工作速度估算"
|
|
681
|
+
source: "任務的 estimated_hours 欄位"
|
|
682
|
+
agent:
|
|
683
|
+
description: "AI Agent 實際執行時間"
|
|
684
|
+
rules:
|
|
685
|
+
"1-4h": "3-5 min"
|
|
686
|
+
"4-8h": "5-8 min"
|
|
687
|
+
"8-16h": "8-12 min"
|
|
688
|
+
"16-24h": "12-20 min"
|
|
689
|
+
"24h+": "20-30 min"
|
|
690
|
+
efficiency: "人類預估 ÷ Agent 預估"
|
|
691
|
+
|
|
692
|
+
# ═══════════════════════════════════════
|
|
693
|
+
# Phase 7: 任務建立
|
|
694
|
+
# ═══════════════════════════════════════
|
|
695
|
+
phase_7_task_creation:
|
|
696
|
+
goal: "在任務系統中建立 YAML 任務"
|
|
697
|
+
system: ".collaboration/core/task-api.js"
|
|
698
|
+
note: "子專案時所有 task-api.js 呼叫必須加 --project-path {PROJECT_PATH}"
|
|
699
|
+
actions:
|
|
700
|
+
create: |
|
|
701
|
+
node {CORE}/.collaboration/core/task-api.js [--project-path {PROJECT_PATH}] create \
|
|
702
|
+
--title "任務名稱" \
|
|
703
|
+
--priority P1 \
|
|
704
|
+
--role frontend \
|
|
705
|
+
--rigor medium \
|
|
706
|
+
--complexity medium \
|
|
707
|
+
--tags code \
|
|
708
|
+
--scope-paths "dashboard/src/" \
|
|
709
|
+
--dependencies TASK_YYY \
|
|
710
|
+
--feature-ids F-001 \
|
|
711
|
+
--estimated-hours 4 \
|
|
712
|
+
--acceptance-criteria "標準 1" \
|
|
713
|
+
--requirements "需求 1"
|
|
714
|
+
verify: "node {CORE}/.collaboration/core/task-api.js [--project-path {PROJECT_PATH}] list"
|
|
715
|
+
get: "node {CORE}/.collaboration/core/task-api.js [--project-path {PROJECT_PATH}] get TASK_XXX"
|
|
716
|
+
post_create:
|
|
717
|
+
- "驗證 YAML 文件已建立(task-api.js get TASK_XXX)"
|
|
718
|
+
- "確認任務狀態已更新(task-api.js list)"
|
|
719
|
+
- "更新 dev/pipeline/PROGRESS.md — Last Update + Recent Activity(僅 Core 專案)"
|
|
720
|
+
cli_format: |
|
|
721
|
+
📦 任務建立
|
|
722
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
723
|
+
✓ TASK_XXX 已建立 → .collaboration/tasks/backlog/
|
|
724
|
+
✓ TASK_YYY 已建立 → .collaboration/tasks/backlog/
|
|
725
|
+
|
|
726
|
+
🔄 Pipeline 更新:
|
|
727
|
+
✓ PROGRESS.md 已更新(+{N} 任務)
|
|
728
|
+
✓ 任務統計: 待處理 {N} | 進行中 {N} | 已完成 {N}
|
|
729
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
730
|
+
rules:
|
|
731
|
+
- "✅ 任務建立用 .collaboration 新系統"
|
|
732
|
+
- "✅ 進度追蹤同步更新 dev/pipeline/PROGRESS.md"
|
|
733
|
+
- "❌ 不跳過任務系統直接 dispatch"
|
|
734
|
+
|
|
735
|
+
# ═══════════════════════════════════════
|
|
736
|
+
# Phase 8: 陣型判斷 + Dispatch
|
|
737
|
+
# ═══════════════════════════════════════
|
|
738
|
+
phase_8_dispatch:
|
|
739
|
+
goal: "選擇最輕量可行陣型,dispatch agent 執行"
|
|
740
|
+
|
|
741
|
+
# ─── 陣型判斷 ───
|
|
742
|
+
judgment:
|
|
743
|
+
principle: "能 unit 不 solo,能 solo 不 squad,能 squad 不 legion"
|
|
744
|
+
guide:
|
|
745
|
+
unit: "目標明確、單一 scope → do/think/plan"
|
|
746
|
+
solo: "需要多角度分析 → strategy/diagnosis"
|
|
747
|
+
squad: "可拆成獨立子任務並行 → blitz/sweep"
|
|
748
|
+
legion: "有順序依賴或即時協調 → forge/hive"
|
|
749
|
+
rules:
|
|
750
|
+
- "✅ 判斷後一句話告知 用戶:選了什麼、為什麼"
|
|
751
|
+
- "✅ 用戶 可強制指定陣型"
|
|
752
|
+
- "❌ 不為看起來厲害而選大陣型"
|
|
753
|
+
|
|
754
|
+
# ─── Dispatch 執行 ───
|
|
755
|
+
execution:
|
|
756
|
+
tool: ".formation/tools/headless.js"
|
|
757
|
+
method: "Bash tool → node headless.js → 啟動獨立 claude CLI 進程"
|
|
758
|
+
max_parallel: 5
|
|
759
|
+
patterns:
|
|
760
|
+
single: "一個任務 → Bash(run_in_background=true): node headless.js --task=TASK_XXX [--project-path ...]"
|
|
761
|
+
parallel: "多個無依賴 → 多個 Bash(background) 同時啟動(上限 5,超過排隊)"
|
|
762
|
+
sequential: "有依賴 → 前一個完成再 dispatch 下一個"
|
|
763
|
+
cli:
|
|
764
|
+
unit: "node {CORE}/.formation/tools/headless.js --skill=do --task=TASK_XXX [--project-path {PROJECT_PATH}]"
|
|
765
|
+
solo: "node {CORE}/.formation/tools/headless.js --formation=solo --skill=strategy --task=TASK_XXX [--project-path {PROJECT_PATH}]"
|
|
766
|
+
squad: "node {CORE}/.formation/tools/headless.js --formation=squad --skill=blitz --task=TASK_XXX [--project-path {PROJECT_PATH}]"
|
|
767
|
+
legion: "node {CORE}/.formation/tools/headless.js --formation=legion --skill=forge --task=TASK_XXX [--project-path {PROJECT_PATH}]"
|
|
768
|
+
anti_pattern: "❌ 禁止用 Task tool 直接開 subagent — 繞過 Formation 會失去 prompt 組裝、principles 注入和 log"
|
|
769
|
+
|
|
770
|
+
# ─── Scope 安全 ───
|
|
771
|
+
scope:
|
|
772
|
+
principle: "併發安全由 Ansuz 保證,agent 不感知"
|
|
773
|
+
rules:
|
|
774
|
+
- "同檔案 → 一個實例處理整個檔案"
|
|
775
|
+
- "跨檔案 → fan_out,按模組/目錄切"
|
|
776
|
+
- "派工前確認 scope 無重疊"
|
|
777
|
+
|
|
778
|
+
# ─── Claim 任務 ───
|
|
779
|
+
pre_dispatch:
|
|
780
|
+
- "node {CORE}/.collaboration/core/task-api.js [--project-path {PROJECT_PATH}] claim TASK_XXX"
|
|
781
|
+
- "確認狀態已變為 active"
|
|
782
|
+
|
|
783
|
+
cli_format: |
|
|
784
|
+
🚀 Dispatch
|
|
785
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
786
|
+
TASK_XXX → unit/do(目標明確、單一 scope)
|
|
787
|
+
TASK_YYY → unit/do(獨立任務、可並行)
|
|
788
|
+
|
|
789
|
+
並行: 2 個 headless 進程
|
|
790
|
+
監控: .formation/logs/unit/
|
|
791
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
792
|
+
interaction:
|
|
793
|
+
type: "ask"
|
|
794
|
+
instruction: "輸出 cli_format 後,用 AskUserQuestion 問 用戶:「是否讓我開始分配任務?」"
|
|
795
|
+
options:
|
|
796
|
+
- "開始分配"
|
|
797
|
+
- "等一下,我要調整"
|
|
798
|
+
on_approve: "執行 Bash(run_in_background=true) dispatch"
|
|
799
|
+
on_wait: "等 用戶 指示"
|
|
800
|
+
|
|
801
|
+
# ─── 進度監控 ───
|
|
802
|
+
monitoring:
|
|
803
|
+
method: "讀 .formation/logs/{formation}/ 下的 log 確認結果"
|
|
804
|
+
tools:
|
|
805
|
+
log_reader: "node {CORE}/.formation/tools/log-reader.js --latest unit --tail 30"
|
|
806
|
+
log_task: "node {CORE}/.formation/tools/log-reader.js --task TASK_XXX --tail 50"
|
|
807
|
+
read_log: "Read tool + offset 讀 log 檔尾端"
|
|
808
|
+
cli_format: |
|
|
809
|
+
⚙️ 任務執行中...
|
|
810
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
811
|
+
| 任務 | 陣型 | 狀態 |
|
|
812
|
+
|------|------|------|
|
|
813
|
+
| TASK_XXX | unit/do | ⏳ 執行中 |
|
|
814
|
+
| TASK_YYY | unit/do | ✅ 完成 |
|
|
815
|
+
|
|
816
|
+
進度: [{N}/{total}] ████████████░░░░░░░░
|
|
817
|
+
耗時: {elapsed}
|
|
818
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
819
|
+
rules:
|
|
820
|
+
- "❌ 禁止用 TaskOutput 讀取 headless 結果 — stdout 可能數萬行,會爆 context"
|
|
821
|
+
- "✅ 用 log-reader.js 或 Read tool + offset"
|
|
822
|
+
|
|
823
|
+
# ═══════════════════════════════════════
|
|
824
|
+
# Phase 9: 結果驗證
|
|
825
|
+
# ═══════════════════════════════════════
|
|
826
|
+
phase_9_result_verification:
|
|
827
|
+
goal: "驗證 agent 產出,確保符合任務要求"
|
|
828
|
+
ddx_trigger:
|
|
829
|
+
when: "agent 輸出不確定、或結果與預期不符時"
|
|
830
|
+
how: "套用 differential_over_intuition protocol — 問「如果不是 agent 說的原因,還可能是什麼?」逐一排除"
|
|
831
|
+
verify:
|
|
832
|
+
- "檔案變更符合任務 scope_paths?"
|
|
833
|
+
- "git commit 存在?(git log --oneline | grep TASK_XXX)"
|
|
834
|
+
- "acceptance_criteria 全部滿足?"
|
|
835
|
+
- "交叉比對原始碼 — 不盲信 agent 輸出"
|
|
836
|
+
- "kenaz_lsp_callers — 分析變更的影響範圍(誰呼叫了被修改的函數?誰引用了被修改的模組?)"
|
|
837
|
+
- "無引入 regression?(結合 kenaz_lsp_callers + 人工檢查影響範圍內的功能)"
|
|
838
|
+
cognitive_checkpoint:
|
|
839
|
+
rule: "驗證完成後,必須判斷是否需要 inscribe。不可跳過此判斷"
|
|
840
|
+
check: |
|
|
841
|
+
問自己:這次修復/實作有沒有值得記錄的知識?
|
|
842
|
+
- 定位了 non-obvious 的 bug 根因? → inscribe type=fix
|
|
843
|
+
- 發現隱藏的 side-effect 或使用限制? → inscribe type=risk
|
|
844
|
+
- 做出了非顯然的設計決策? → inscribe type=decision
|
|
845
|
+
- 識別出跨 3+ symbol 的概念? → forge Sigil
|
|
846
|
+
- 以上都沒有 → 跳過,不為了寫而寫
|
|
847
|
+
verify_runes: "如果 agent 寫了 rune,交叉比對原始碼判斷準確性 → 不準確的 rune 以 supersedes 取代"
|
|
848
|
+
on_success:
|
|
849
|
+
- "node {CORE}/.collaboration/core/task-api.js [--project-path {PROJECT_PATH}] complete TASK_XXX"
|
|
850
|
+
- "→ 觸發 prevention_analysis(如符合條件)"
|
|
851
|
+
- "→ 進入 Phase 10(Post-Complete)"
|
|
852
|
+
|
|
853
|
+
# ─── 三級預防分析(修復完成後的前瞻性防護) ───
|
|
854
|
+
prevention_analysis:
|
|
855
|
+
description: "任務驗證通過後,分析預防措施 — 從救火員升級為系統守護者"
|
|
856
|
+
principle: "修復當下問題只是最低標準。預防再發、早期偵測、減損復原才是完整閉環"
|
|
857
|
+
|
|
858
|
+
# ─── 觸發條件(不是 always-on) ───
|
|
859
|
+
trigger:
|
|
860
|
+
any_of:
|
|
861
|
+
- "任務 priority 為 P0 或 P1"
|
|
862
|
+
- "同問題域第 2 次以上 FIX"
|
|
863
|
+
- "任務 tags 含 fix 或 regression"
|
|
864
|
+
- "scope_paths 涉及核心路徑(auth/payment/data/security 相關)"
|
|
865
|
+
skip_when:
|
|
866
|
+
- "P2/P3 的新功能開發(非 fix)"
|
|
867
|
+
- "文件/設計類任務"
|
|
868
|
+
- "單純的 typo/style 修復"
|
|
869
|
+
|
|
870
|
+
# ─── 三級預防定義 ───
|
|
871
|
+
levels:
|
|
872
|
+
primary:
|
|
873
|
+
goal: "防止再發 — 從根因層面加固"
|
|
874
|
+
question: "這個 bug 的根因是什麼模式?如何從架構層防止同類問題?"
|
|
875
|
+
actions:
|
|
876
|
+
- "加單元測試覆蓋修復的 code path"
|
|
877
|
+
- "重構脆弱代碼(如有 code smell)"
|
|
878
|
+
- "更新 .failure/ 條目(經驗沉澱)"
|
|
879
|
+
output: "建議 + backlog 任務卡(如需要)"
|
|
880
|
+
secondary:
|
|
881
|
+
goal: "早期偵測 — 縮短故障發現時間"
|
|
882
|
+
question: "下次這個問題再發生,如何在秒級內發現而非等用戶回報?"
|
|
883
|
+
actions:
|
|
884
|
+
- "加 log/metric 在關鍵路徑"
|
|
885
|
+
- "加告警規則(閾值 + 頻率)"
|
|
886
|
+
- "加健康檢查端點"
|
|
887
|
+
output: "建議 + backlog 任務卡(如需要)"
|
|
888
|
+
tertiary:
|
|
889
|
+
goal: "減損復原 — 提升系統韌性"
|
|
890
|
+
question: "如果修復失敗或問題復發,系統能自動降級嗎?"
|
|
891
|
+
actions:
|
|
892
|
+
- "加 fallback 路徑(降級方案)"
|
|
893
|
+
- "加回滾機制(可逆部署)"
|
|
894
|
+
- "加斷路器(防止級聯故障)"
|
|
895
|
+
output: "建議 + backlog 任務卡(如需要)"
|
|
896
|
+
|
|
897
|
+
# ─── 觸發等級對應 ───
|
|
898
|
+
trigger_level_map:
|
|
899
|
+
P0_P1: "一級 + 二級 + 三級(完整分析)"
|
|
900
|
+
repeat_fix: "一級 + 二級(強制,loop_guard 已觸發代表根因沒治好)"
|
|
901
|
+
core_path: "二級 + 三級(核心功能需要偵測和韌性)"
|
|
902
|
+
P2_fix: "僅一級(建議性,不強制)"
|
|
903
|
+
|
|
904
|
+
# ─── 產出(不是散文,是可追蹤的實體) ───
|
|
905
|
+
output:
|
|
906
|
+
failure_entry:
|
|
907
|
+
action: "檢查 .failure/ 是否已有相關條目 → 有則更新 prevention 欄位,無則新增"
|
|
908
|
+
fields:
|
|
909
|
+
prevention_primary: "建議的架構加固"
|
|
910
|
+
prevention_secondary: "建議的監控點"
|
|
911
|
+
prevention_tertiary: "建議的容錯機制"
|
|
912
|
+
backlog_tasks:
|
|
913
|
+
action: "為非 trivial 的預防建議建立 P3 backlog 任務卡 — 用戶決定何時做"
|
|
914
|
+
tags: ["prevention"]
|
|
915
|
+
rule: "預防任務是建議性的,不自動 dispatch — 用戶決定優先級"
|
|
916
|
+
|
|
917
|
+
cli_format: |
|
|
918
|
+
🛡️ 預防建議
|
|
919
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
920
|
+
一級(防止再發): {建議} {→ TASK_ID 如已建立}
|
|
921
|
+
二級(早期偵測): {建議} {→ TASK_ID 如已建立}
|
|
922
|
+
三級(減損復原): {建議} {→ TASK_ID 如已建立}
|
|
923
|
+
📝 .failure/: {新增|更新} {FAIL-ID}
|
|
924
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
925
|
+
|
|
926
|
+
on_failure:
|
|
927
|
+
analysis:
|
|
928
|
+
- "讀 log 找失敗根因"
|
|
929
|
+
- "判斷:可重試 | 需補 context | 需建 FIX 任務 | 需換策略 | 需升級給 用戶"
|
|
930
|
+
actions:
|
|
931
|
+
retry: "重派同任務 — 補充失敗原因和缺失 context"
|
|
932
|
+
create_fix_and_dispatch: |
|
|
933
|
+
當原任務「部分完成但有缺失」時(如 TASK_12 只做了一半),建立 FIX 任務並立即 dispatch:
|
|
934
|
+
1. 用 task-api.js create 建立 [FIX] 任務(tags: fix,verification)
|
|
935
|
+
2. 用 task-api.js complete 標記原任務為已完成(因為部分成果要保留)
|
|
936
|
+
3. 執行 post-complete.js 完成原任務的 archive + git 流程
|
|
937
|
+
4. ⚠️ 立即回到 Phase 8 dispatch FIX 任務 — 不可停在這裡
|
|
938
|
+
流程: Phase 9 失敗 → 建 FIX → complete 原任務 → post-complete → Phase 8(FIX) → Phase 9(FIX) → ...
|
|
939
|
+
change_strategy: "換陣型(如 unit → solo 增加分析深度)"
|
|
940
|
+
escalate: "升級給 用戶 — 附上已嘗試的方法和失敗原因"
|
|
941
|
+
block: "node {CORE}/.collaboration/core/task-api.js [--project-path {PROJECT_PATH}] move TASK_XXX blocked"
|
|
942
|
+
selection_guide:
|
|
943
|
+
retry: "agent 沒做完但任務定義正確 — 重派同一個 TASK_XXX"
|
|
944
|
+
create_fix_and_dispatch: "agent 做了部分,但缺漏太多需要新任務補齊 — 建 [FIX] TASK + 自動 dispatch"
|
|
945
|
+
change_strategy: "同一策略試了 2 次仍失敗 — 換陣型或換 skill"
|
|
946
|
+
escalate: "技術瓶頸或需要用戶決策 — 停下來問用戶"
|
|
947
|
+
block: "外部依賴未滿足 — 標記 blocked 等待"
|
|
948
|
+
critical_rule: |
|
|
949
|
+
⚠️ 建完 FIX 任務後「必須」立即 dispatch,不可停在 backlog。
|
|
950
|
+
這是閉環原則 — Ansuz 走到底,不留半成品給用戶手動處理。
|
|
951
|
+
流程是一個迴圈:Phase 9 → 建 FIX → Phase 8(FIX) → dispatch → Phase 9(FIX) → ...
|
|
952
|
+
|
|
953
|
+
# ─── Socratic Loop Guard(蘇格拉底迴圈守衛) ───
|
|
954
|
+
loop_guard:
|
|
955
|
+
description: "追蹤同一需求域的 FIX 次數,觸發 challenge_over_confirm.loop_detection"
|
|
956
|
+
counter: "同一 source/feature_id 的 FIX 任務累計次數"
|
|
957
|
+
threshold: 2
|
|
958
|
+
rule: |
|
|
959
|
+
FIX count >= 2 → 強制觸發 Socratic Thinking(loop_detection)
|
|
960
|
+
不可繼續用相同策略重派 — 必須先質疑原始假設
|
|
961
|
+
action: |
|
|
962
|
+
1. 暫停 dispatch
|
|
963
|
+
2. 輸出 🤔🤔 cli_format
|
|
964
|
+
3. 列出原始假設 + 至少 1 個替代假設
|
|
965
|
+
4. 用 verified 證據重新選擇 → 可能需要完全換方向
|
|
966
|
+
5. 如果仍無法判斷 → escalate 給用戶
|
|
967
|
+
cli_format: |
|
|
968
|
+
🤔🤔
|
|
969
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
970
|
+
觸發: loop_detection
|
|
971
|
+
同問題域已嘗試 {N} 次修復
|
|
972
|
+
原始假設: {最初的診斷}
|
|
973
|
+
自問: 如果這個假設根本就是錯的,還有什麼可能?
|
|
974
|
+
替代假設:
|
|
975
|
+
H1: {替代假設 1}
|
|
976
|
+
H2: {替代假設 2}
|
|
977
|
+
結論: {經挑戰後的決定}
|
|
978
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
979
|
+
|
|
980
|
+
cli_format:
|
|
981
|
+
success: |
|
|
982
|
+
✅ TASK_XXX 驗證通過
|
|
983
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
984
|
+
變更: {檔案清單}
|
|
985
|
+
Commit: {commit hash}
|
|
986
|
+
驗收: {N}/{N} 通過
|
|
987
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
988
|
+
failure: |
|
|
989
|
+
❌ TASK_XXX 驗證失敗
|
|
990
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
991
|
+
已完成:
|
|
992
|
+
✓ {已通過的驗收標準 1}
|
|
993
|
+
✓ {已通過的驗收標準 2}
|
|
994
|
+
✗ {未通過的驗收標準}
|
|
995
|
+
|
|
996
|
+
根因: {分析結果}
|
|
997
|
+
行動: {重派/建FIX並dispatch/換策略/升級}
|
|
998
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
999
|
+
fix_created: |
|
|
1000
|
+
🔄 FIX 閉環啟動
|
|
1001
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1002
|
+
原任務: TASK_XXX → 已完成(部分成果保留)
|
|
1003
|
+
FIX 任務: TASK_YYY → 立即 dispatch
|
|
1004
|
+
缺失: {未通過的驗收標準}
|
|
1005
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1006
|
+
|
|
1007
|
+
# ═══════════════════════════════════════
|
|
1008
|
+
# Phase 10: Post-Complete
|
|
1009
|
+
# ═══════════════════════════════════════
|
|
1010
|
+
phase_10_post_complete:
|
|
1011
|
+
goal: "任務完成後的 archive + git 流程"
|
|
1012
|
+
tool: ".formation/tools/post-complete.js"
|
|
1013
|
+
actions:
|
|
1014
|
+
archive:
|
|
1015
|
+
command: "node {CORE}/.formation/tools/post-complete.js --task=TASK_XXX [--project-path={PROJECT_PATH}]"
|
|
1016
|
+
behavior: "舊任務 → archived/(保留最新 10 個)"
|
|
1017
|
+
git:
|
|
1018
|
+
- "建立 task/task_xxx 分支(在 PROJECT_PATH 的 repo 內)"
|
|
1019
|
+
- "stage + commit 所有變更"
|
|
1020
|
+
- "merge 到用戶當前分支"
|
|
1021
|
+
- "❌ 不自動 merge 到 main — 用戶 確認後手動操作"
|
|
1022
|
+
progress:
|
|
1023
|
+
- "更新 dev/pipeline/PROGRESS.md — Last Update + Statistics + Recent Activity(僅 Core 專案)"
|
|
1024
|
+
cli_format: |
|
|
1025
|
+
📦 Post-Complete
|
|
1026
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1027
|
+
✓ Archive: {N} 個舊任務已封存
|
|
1028
|
+
✓ Git: task/task_xxx → {user_branch}
|
|
1029
|
+
✓ PROGRESS.md 已更新
|
|
1030
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1031
|
+
|
|
1032
|
+
# ═══════════════════════════════════════
|
|
1033
|
+
# Phase 11: 回報
|
|
1034
|
+
# ═══════════════════════════════════════
|
|
1035
|
+
phase_11_report:
|
|
1036
|
+
goal: "向 用戶 匯報最終結果"
|
|
1037
|
+
|
|
1038
|
+
# ─── 成功回報 ───
|
|
1039
|
+
success_format: |
|
|
1040
|
+
✅ TASK_XXX 完成
|
|
1041
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1042
|
+
陣型: {formation}/{skill}
|
|
1043
|
+
結果: {一句話摘要}
|
|
1044
|
+
變更: {檔案清單}
|
|
1045
|
+
|
|
1046
|
+
⏱️ 時間:
|
|
1047
|
+
- 人類預估: {estimated_hours}h
|
|
1048
|
+
- Agent 實際: ~{actual_minutes} min
|
|
1049
|
+
- 效率提升: ~{ratio}x
|
|
1050
|
+
- 團隊耗時: {elapsed_time}
|
|
1051
|
+
|
|
1052
|
+
📦 Archive: {N} 個舊任務已封存
|
|
1053
|
+
🔀 Git: task/task_xxx → {user_branch}
|
|
1054
|
+
|
|
1055
|
+
{如有預防分析,附加 🛡️ 預防建議區塊}
|
|
1056
|
+
{如有寫入 rune,附加 🧠 認知層更新區塊}
|
|
1057
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1058
|
+
|
|
1059
|
+
# ─── 失敗回報 ───
|
|
1060
|
+
failure_format: |
|
|
1061
|
+
❌ TASK_XXX 阻塞
|
|
1062
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1063
|
+
陣型: {formation}/{skill}
|
|
1064
|
+
原因: {失敗原因}
|
|
1065
|
+
|
|
1066
|
+
已完成:
|
|
1067
|
+
✓ {已完成的步驟}
|
|
1068
|
+
✗ {失敗的步驟}
|
|
1069
|
+
|
|
1070
|
+
建議:
|
|
1071
|
+
- {下一步行動}
|
|
1072
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1073
|
+
|
|
1074
|
+
# ─── 批量完成回報 ───
|
|
1075
|
+
batch_format: |
|
|
1076
|
+
✅ {N} 個任務完成
|
|
1077
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1078
|
+
| ID | 標題 | 陣型 | 狀態 |
|
|
1079
|
+
|----|------|------|------|
|
|
1080
|
+
| TASK_XXX | ... | unit/do | ✅ |
|
|
1081
|
+
| TASK_YYY | ... | unit/do | ✅ |
|
|
1082
|
+
|
|
1083
|
+
⏱️ 時間:
|
|
1084
|
+
- 人類預估: {total_hours}h
|
|
1085
|
+
- Agent 實際: ~{total_minutes} min
|
|
1086
|
+
- 效率提升: ~{ratio}x
|
|
1087
|
+
- 團隊耗時: {elapsed_time}
|
|
1088
|
+
|
|
1089
|
+
📦 Archive: {N} 個舊任務已封存
|
|
1090
|
+
🔀 Git: task/task_xxx → {user_branch}
|
|
1091
|
+
|
|
1092
|
+
{如有預防分析,附加 🛡️ 預防建議區塊}
|
|
1093
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1094
|
+
下一步: {建議行動 | 「所有任務已完成」}
|
|
1095
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1096
|
+
interaction:
|
|
1097
|
+
type: "ask"
|
|
1098
|
+
instruction: "輸出結果後,用 AskUserQuestion 問 用戶:「接下來要做什麼?」"
|
|
1099
|
+
options:
|
|
1100
|
+
- "繼續下一個需求"
|
|
1101
|
+
- "結束,沒有其他事了"
|
|
1102
|
+
- "我有新的需求要提"
|
|
1103
|
+
|
|
1104
|
+
# ═══════════════════════════════════════
|
|
1105
|
+
# QA Issue Intake(接收 QA 缺陷報告)
|
|
1106
|
+
# ═══════════════════════════════════════
|
|
1107
|
+
qa_issue_intake:
|
|
1108
|
+
description: "接收 QA Agent 缺陷報告,自動建立修復任務"
|
|
1109
|
+
input: "dev/qa/QA_ISSUES_<YYYYMMDD_HHmmss>.md"
|
|
1110
|
+
priority_mapping:
|
|
1111
|
+
critical: "P0 — 系統無法運作、安全漏洞、數據損壞"
|
|
1112
|
+
major: "P1 — 核心功能異常、嚴重影響體驗"
|
|
1113
|
+
minor: "P2 — 輕微 Bug、不影響核心功能"
|
|
1114
|
+
trivial: "P3 — 文字錯誤、樣式瑕疵"
|
|
1115
|
+
agent_mapping:
|
|
1116
|
+
backend_bug: "backend — API 錯誤、資料庫問題、安全漏洞"
|
|
1117
|
+
frontend_bug: "frontend — UI 異常、組件錯誤、樣式問題"
|
|
1118
|
+
fullstack_bug: "拆分為獨立的 frontend + backend 任務"
|
|
1119
|
+
flow:
|
|
1120
|
+
- "讀取 QA Issue Report"
|
|
1121
|
+
- "為每個缺陷建立修復任務(Phase 4-7)"
|
|
1122
|
+
- "根據嚴重程度映射 priority"
|
|
1123
|
+
- "根據缺陷性質分配 role"
|
|
1124
|
+
- "acceptance_criteria 必含:缺陷已修復 + 回歸測試通過"
|
|
1125
|
+
|
|
1126
|
+
# ═══════════════════════════════════════
|
|
1127
|
+
# 優先級定義
|
|
1128
|
+
# ═══════════════════════════════════════
|
|
1129
|
+
priority:
|
|
1130
|
+
P0: "阻塞性問題 — 必須立即處理(中斷當前工作)"
|
|
1131
|
+
P1: "核心功能 — 高優先級(當前迭代必須完成)"
|
|
1132
|
+
P2: "重要功能 — 中優先級(排入 backlog)"
|
|
1133
|
+
P3: "Nice-to-have — 低優先級(有空再做)"
|
|
1134
|
+
|
|
1135
|
+
# ═══════════════════════════════════════
|
|
1136
|
+
# Feature ID 制度
|
|
1137
|
+
# ═══════════════════════════════════════
|
|
1138
|
+
feature_id:
|
|
1139
|
+
format: "F-XXX(三位數字,001~999)"
|
|
1140
|
+
sub_format: "F-XXX.Y(子功能)"
|
|
1141
|
+
lookup: "dev/PRODUCT_SPEC.md — Feature ID Index"
|
|
1142
|
+
source_rules:
|
|
1143
|
+
feature: "source: 'F-001' — 對應 PRODUCT_SPEC 功能"
|
|
1144
|
+
bug: "source: 'Bug Report #XXX' — 臨時需求或 Bug"
|
|
1145
|
+
qa: "source: 'QA Issue Report: QA_ISSUES_<timestamp>.md'"
|
|
1146
|
+
multi: "feature_ids: ['F-001', 'F-002'] — 跨功能任務"
|
|
1147
|
+
|
|
1148
|
+
# ═══════════════════════════════════════
|
|
1149
|
+
# 與 .failure/ 系統整合
|
|
1150
|
+
# ═══════════════════════════════════════
|
|
1151
|
+
failure_integration:
|
|
1152
|
+
when: "Phase 0 初始化 + Phase 2 背景調研 + Phase 9 結果驗證失敗時 + Phase 9 預防分析時"
|
|
1153
|
+
check: "讀 .failure/INDEX.yaml — 搜尋相關失敗模式"
|
|
1154
|
+
learn: "新失敗發生時 → 記錄到 .failure/ 避免重複"
|
|
1155
|
+
prevention_feedback: |
|
|
1156
|
+
Phase 9 prevention_analysis 完成後:
|
|
1157
|
+
1. 檢查 .failure/ 是否已有相關條目(按 category + scope 匹配)
|
|
1158
|
+
2. 有 → 更新條目的 prevention 欄位(primary/secondary/tertiary)
|
|
1159
|
+
3. 無 → 新增條目(含根因 + 三級預防建議)
|
|
1160
|
+
4. 預防建議中的非 trivial 項目 → 建立 P3 backlog 任務卡(tags: prevention)
|
|
1161
|
+
|
|
1162
|
+
# ═══════════════════════════════════════
|
|
1163
|
+
# 效率規則
|
|
1164
|
+
# ═══════════════════════════════════════
|
|
1165
|
+
efficiency:
|
|
1166
|
+
do:
|
|
1167
|
+
- "✅ 輕量工作自己做(Glob/Grep/Read/單檔 Edit)"
|
|
1168
|
+
- "✅ 一個 message 能發多少 Bash(background) 就發多少"
|
|
1169
|
+
- "✅ 結果到了立即處理 — 不等齊再動"
|
|
1170
|
+
- "✅ 小任務不拆 — 一個 dispatch 做完"
|
|
1171
|
+
- "✅ Phase 1-6 可壓縮 — 簡單需求快速走完"
|
|
1172
|
+
dont:
|
|
1173
|
+
- "❌ 不為開 agent 而開 agent"
|
|
1174
|
+
- "❌ 不重複 agent 已在做的工作"
|
|
1175
|
+
- "❌ 不用 Task tool subagent 繞過 Formation"
|
|
1176
|
+
|
|
1177
|
+
# ═══════════════════════════════════════
|
|
1178
|
+
# ⚠️ Task-First 原則(強制)
|
|
1179
|
+
# ═══════════════════════════════════════
|
|
1180
|
+
task_first:
|
|
1181
|
+
rule: |
|
|
1182
|
+
Ansuz 的預設行為是「先建立任務,再 dispatch」。
|
|
1183
|
+
除非任務極其簡單(見 direct_execution_threshold),否則一律先走 Phase 1-7 建立任務卡。
|
|
1184
|
+
direct_execution_threshold:
|
|
1185
|
+
description: "只有滿足以下「全部」條件時,才可跳過任務建立直接執行"
|
|
1186
|
+
conditions:
|
|
1187
|
+
- "單一檔案修改(scope 只有 1 個檔案)"
|
|
1188
|
+
- "改動範圍小於 20 行"
|
|
1189
|
+
- "無需拆解(不涉及多模組/多語言)"
|
|
1190
|
+
- "無依賴(不需要先完成其他工作)"
|
|
1191
|
+
- "用戶意圖明確無歧義(如「把按鈕顏色改成紅色」)"
|
|
1192
|
+
examples_skip:
|
|
1193
|
+
- "修正一個 typo"
|
|
1194
|
+
- "調整一個 CSS 樣式值"
|
|
1195
|
+
- "刪除一行 console.log"
|
|
1196
|
+
examples_must_create_task:
|
|
1197
|
+
- "新增功能(即使看起來簡單)"
|
|
1198
|
+
- "修改 2 個以上檔案"
|
|
1199
|
+
- "涉及 Rust + TypeScript 跨語言"
|
|
1200
|
+
- "需要新增 API endpoint"
|
|
1201
|
+
- "用戶說「幫我做 XXX」但範圍不明確"
|
|
1202
|
+
enforcement: |
|
|
1203
|
+
❌ 不可因為「看起來不複雜」就跳過任務建立
|
|
1204
|
+
✅ 有疑慮時,一律建立任務(寧可多建不可漏建)
|
|
1205
|
+
✅ 建立任務的成本極低(task-api.js create),但跳過的風險高(無追蹤、無 scope 約束、無驗收標準)
|
|
1206
|
+
|
|
1207
|
+
# ═══════════════════════════════════════
|
|
1208
|
+
# 範例:完整生命週期
|
|
1209
|
+
# ═══════════════════════════════════════
|
|
1210
|
+
examples:
|
|
1211
|
+
# ─── 範例 1:新功能需求 ───
|
|
1212
|
+
new_feature:
|
|
1213
|
+
input: "我想在 Dashboard 加入暗黑模式"
|
|
1214
|
+
flow:
|
|
1215
|
+
phase_1: |
|
|
1216
|
+
📋 需求理解
|
|
1217
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1218
|
+
需求摘要: Dashboard 新增暗黑模式切換功能
|
|
1219
|
+
需求類型: 新功能
|
|
1220
|
+
核心目標: 用戶可在亮色/暗色主題間切換
|
|
1221
|
+
優先級: P2
|
|
1222
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1223
|
+
phase_3: |
|
|
1224
|
+
📐 任務設計
|
|
1225
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1226
|
+
共拆解為 2 個任務:
|
|
1227
|
+
|
|
1228
|
+
| # | 標題 | Agent | Priority | Hours |
|
|
1229
|
+
|---|------|-------|----------|-------|
|
|
1230
|
+
| 1 | 建立主題系統(CSS Variables + Context) | frontend | P2 | 4h |
|
|
1231
|
+
| 2 | 新增主題切換 UI(Settings 頁面) | frontend | P2 | 2h |
|
|
1232
|
+
|
|
1233
|
+
依賴: TASK_2 → TASK_1
|
|
1234
|
+
陣型: unit × 2(序列 dispatch)
|
|
1235
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1236
|
+
phase_6: "用戶批准 → Phase 7 建立任務 → Phase 8 dispatch"
|
|
1237
|
+
phase_11: |
|
|
1238
|
+
✅ 2 個任務完成
|
|
1239
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1240
|
+
| ID | 標題 | 陣型 | 狀態 |
|
|
1241
|
+
|----|------|------|------|
|
|
1242
|
+
| TASK_248 | 建立主題系統 | unit/do | ✅ |
|
|
1243
|
+
| TASK_249 | 新增主題切換 UI | unit/do | ✅ |
|
|
1244
|
+
|
|
1245
|
+
⏱️ 人類預估: 6h | Agent 實際: ~8 min | 效率: ~45x
|
|
1246
|
+
🔀 Git: task/task_248 → main
|
|
1247
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1248
|
+
|
|
1249
|
+
# ─── 範例 2:簡單 Bug 修復(壓縮流程)───
|
|
1250
|
+
simple_bug:
|
|
1251
|
+
input: "Sidebar 在手機上超出螢幕"
|
|
1252
|
+
flow: |
|
|
1253
|
+
# Phase 1-6 壓縮為快速確認
|
|
1254
|
+
📋 需求: 修復 Sidebar 手機端溢出
|
|
1255
|
+
📐 任務: TASK_250(frontend, P1, 1h, unit/do)
|
|
1256
|
+
✅ 用戶 批准
|
|
1257
|
+
|
|
1258
|
+
# Phase 7-11 正常執行
|
|
1259
|
+
🚀 Dispatch → unit/do
|
|
1260
|
+
✅ 驗證通過 → post-complete → 回報
|
|
1261
|
+
|
|
1262
|
+
# ─── 範例 3:QA 缺陷批次處理 ───
|
|
1263
|
+
qa_batch:
|
|
1264
|
+
input: "QA 報告了 3 個 Bug(dev/qa/QA_ISSUES_20260222.md)"
|
|
1265
|
+
flow: |
|
|
1266
|
+
# 讀取 QA Report → 建立 3 個修復任務
|
|
1267
|
+
| # | 缺陷 | 嚴重度 | Priority | Agent |
|
|
1268
|
+
|---|------|--------|----------|-------|
|
|
1269
|
+
| 1 | API 500 錯誤 | Critical | P0 | backend |
|
|
1270
|
+
| 2 | 表單驗證失效 | Major | P1 | frontend |
|
|
1271
|
+
| 3 | 文字截斷 | Minor | P2 | frontend |
|
|
1272
|
+
|
|
1273
|
+
# P0 優先 dispatch → P1 並行 → P2 排隊
|