@blxzer/pactile 0.5.0
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/CHANGELOG.md +602 -0
- package/LICENSE +235 -0
- package/README.md +115 -0
- package/README.zh-CN.md +115 -0
- package/bin/compat-warning.js +11 -0
- package/bin/cstl.js +6 -0
- package/bin/pactile.js +3 -0
- package/bin/smart-search.js +38 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +362 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/commands/capability-smoke.d.ts +24 -0
- package/dist/commands/capability-smoke.d.ts.map +1 -0
- package/dist/commands/capability-smoke.js +83 -0
- package/dist/commands/capability-smoke.js.map +1 -0
- package/dist/commands/channel/adapters/claude.d.ts +29 -0
- package/dist/commands/channel/adapters/claude.d.ts.map +1 -0
- package/dist/commands/channel/adapters/claude.js +203 -0
- package/dist/commands/channel/adapters/claude.js.map +1 -0
- package/dist/commands/channel/adapters/codex.d.ts +85 -0
- package/dist/commands/channel/adapters/codex.d.ts.map +1 -0
- package/dist/commands/channel/adapters/codex.js +505 -0
- package/dist/commands/channel/adapters/codex.js.map +1 -0
- package/dist/commands/channel/adapters/index.d.ts +84 -0
- package/dist/commands/channel/adapters/index.d.ts.map +1 -0
- package/dist/commands/channel/adapters/index.js +115 -0
- package/dist/commands/channel/adapters/index.js.map +1 -0
- package/dist/commands/channel/adapters/types.d.ts +33 -0
- package/dist/commands/channel/adapters/types.d.ts.map +1 -0
- package/dist/commands/channel/adapters/types.js +2 -0
- package/dist/commands/channel/adapters/types.js.map +1 -0
- package/dist/commands/channel/agent-loader.d.ts +32 -0
- package/dist/commands/channel/agent-loader.d.ts.map +1 -0
- package/dist/commands/channel/agent-loader.js +154 -0
- package/dist/commands/channel/agent-loader.js.map +1 -0
- package/dist/commands/channel/context-loader.d.ts +26 -0
- package/dist/commands/channel/context-loader.d.ts.map +1 -0
- package/dist/commands/channel/context-loader.js +290 -0
- package/dist/commands/channel/context-loader.js.map +1 -0
- package/dist/commands/channel/context.d.ts +16 -0
- package/dist/commands/channel/context.d.ts.map +1 -0
- package/dist/commands/channel/context.js +83 -0
- package/dist/commands/channel/context.js.map +1 -0
- package/dist/commands/channel/create.d.ts +27 -0
- package/dist/commands/channel/create.d.ts.map +1 -0
- package/dist/commands/channel/create.js +39 -0
- package/dist/commands/channel/create.js.map +1 -0
- package/dist/commands/channel/dev-parse-trace.d.ts +14 -0
- package/dist/commands/channel/dev-parse-trace.d.ts.map +1 -0
- package/dist/commands/channel/dev-parse-trace.js +70 -0
- package/dist/commands/channel/dev-parse-trace.js.map +1 -0
- package/dist/commands/channel/guard.d.ts +150 -0
- package/dist/commands/channel/guard.d.ts.map +1 -0
- package/dist/commands/channel/guard.js +475 -0
- package/dist/commands/channel/guard.js.map +1 -0
- package/dist/commands/channel/index.d.ts +3 -0
- package/dist/commands/channel/index.d.ts.map +1 -0
- package/dist/commands/channel/index.js +531 -0
- package/dist/commands/channel/index.js.map +1 -0
- package/dist/commands/channel/interrupt.d.ts +10 -0
- package/dist/commands/channel/interrupt.d.ts.map +1 -0
- package/dist/commands/channel/interrupt.js +22 -0
- package/dist/commands/channel/interrupt.js.map +1 -0
- package/dist/commands/channel/kill.d.ts +7 -0
- package/dist/commands/channel/kill.d.ts.map +1 -0
- package/dist/commands/channel/kill.js +121 -0
- package/dist/commands/channel/kill.js.map +1 -0
- package/dist/commands/channel/list.d.ts +17 -0
- package/dist/commands/channel/list.d.ts.map +1 -0
- package/dist/commands/channel/list.js +233 -0
- package/dist/commands/channel/list.js.map +1 -0
- package/dist/commands/channel/messages.d.ts +15 -0
- package/dist/commands/channel/messages.d.ts.map +1 -0
- package/dist/commands/channel/messages.js +245 -0
- package/dist/commands/channel/messages.js.map +1 -0
- package/dist/commands/channel/rm.d.ts +27 -0
- package/dist/commands/channel/rm.d.ts.map +1 -0
- package/dist/commands/channel/rm.js +216 -0
- package/dist/commands/channel/rm.js.map +1 -0
- package/dist/commands/channel/run.d.ts +30 -0
- package/dist/commands/channel/run.d.ts.map +1 -0
- package/dist/commands/channel/run.js +130 -0
- package/dist/commands/channel/run.js.map +1 -0
- package/dist/commands/channel/send.d.ts +11 -0
- package/dist/commands/channel/send.d.ts.map +1 -0
- package/dist/commands/channel/send.js +24 -0
- package/dist/commands/channel/send.js.map +1 -0
- package/dist/commands/channel/spawn.d.ts +40 -0
- package/dist/commands/channel/spawn.d.ts.map +1 -0
- package/dist/commands/channel/spawn.js +242 -0
- package/dist/commands/channel/spawn.js.map +1 -0
- package/dist/commands/channel/store/events.d.ts +39 -0
- package/dist/commands/channel/store/events.d.ts.map +1 -0
- package/dist/commands/channel/store/events.js +87 -0
- package/dist/commands/channel/store/events.js.map +1 -0
- package/dist/commands/channel/store/filter.d.ts +3 -0
- package/dist/commands/channel/store/filter.d.ts.map +1 -0
- package/dist/commands/channel/store/filter.js +2 -0
- package/dist/commands/channel/store/filter.js.map +1 -0
- package/dist/commands/channel/store/lock.d.ts +23 -0
- package/dist/commands/channel/store/lock.d.ts.map +1 -0
- package/dist/commands/channel/store/lock.js +99 -0
- package/dist/commands/channel/store/lock.js.map +1 -0
- package/dist/commands/channel/store/paths.d.ts +63 -0
- package/dist/commands/channel/store/paths.d.ts.map +1 -0
- package/dist/commands/channel/store/paths.js +247 -0
- package/dist/commands/channel/store/paths.js.map +1 -0
- package/dist/commands/channel/store/schema.d.ts +27 -0
- package/dist/commands/channel/store/schema.d.ts.map +1 -0
- package/dist/commands/channel/store/schema.js +34 -0
- package/dist/commands/channel/store/schema.js.map +1 -0
- package/dist/commands/channel/store/thread-state.d.ts +5 -0
- package/dist/commands/channel/store/thread-state.d.ts.map +1 -0
- package/dist/commands/channel/store/thread-state.js +16 -0
- package/dist/commands/channel/store/thread-state.js.map +1 -0
- package/dist/commands/channel/store/watch.d.ts +19 -0
- package/dist/commands/channel/store/watch.d.ts.map +1 -0
- package/dist/commands/channel/store/watch.js +146 -0
- package/dist/commands/channel/store/watch.js.map +1 -0
- package/dist/commands/channel/supervisor/idle.d.ts +46 -0
- package/dist/commands/channel/supervisor/idle.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/idle.js +72 -0
- package/dist/commands/channel/supervisor/idle.js.map +1 -0
- package/dist/commands/channel/supervisor/inbox.d.ts +30 -0
- package/dist/commands/channel/supervisor/inbox.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/inbox.js +160 -0
- package/dist/commands/channel/supervisor/inbox.js.map +1 -0
- package/dist/commands/channel/supervisor/shutdown.d.ts +68 -0
- package/dist/commands/channel/supervisor/shutdown.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/shutdown.js +146 -0
- package/dist/commands/channel/supervisor/shutdown.js.map +1 -0
- package/dist/commands/channel/supervisor/stdout.d.ts +51 -0
- package/dist/commands/channel/supervisor/stdout.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/stdout.js +121 -0
- package/dist/commands/channel/supervisor/stdout.js.map +1 -0
- package/dist/commands/channel/supervisor/turns.d.ts +31 -0
- package/dist/commands/channel/supervisor/turns.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/turns.js +45 -0
- package/dist/commands/channel/supervisor/turns.js.map +1 -0
- package/dist/commands/channel/supervisor/warning.d.ts +48 -0
- package/dist/commands/channel/supervisor/warning.d.ts.map +1 -0
- package/dist/commands/channel/supervisor/warning.js +77 -0
- package/dist/commands/channel/supervisor/warning.js.map +1 -0
- package/dist/commands/channel/supervisor.d.ts +59 -0
- package/dist/commands/channel/supervisor.d.ts.map +1 -0
- package/dist/commands/channel/supervisor.js +345 -0
- package/dist/commands/channel/supervisor.js.map +1 -0
- package/dist/commands/channel/text-body.d.ts +13 -0
- package/dist/commands/channel/text-body.d.ts.map +1 -0
- package/dist/commands/channel/text-body.js +47 -0
- package/dist/commands/channel/text-body.js.map +1 -0
- package/dist/commands/channel/threads.d.ts +39 -0
- package/dist/commands/channel/threads.d.ts.map +1 -0
- package/dist/commands/channel/threads.js +106 -0
- package/dist/commands/channel/threads.js.map +1 -0
- package/dist/commands/channel/title.d.ts +12 -0
- package/dist/commands/channel/title.d.ts.map +1 -0
- package/dist/commands/channel/title.js +24 -0
- package/dist/commands/channel/title.js.map +1 -0
- package/dist/commands/channel/wait.d.ts +17 -0
- package/dist/commands/channel/wait.d.ts.map +1 -0
- package/dist/commands/channel/wait.js +75 -0
- package/dist/commands/channel/wait.js.map +1 -0
- package/dist/commands/detach.d.ts +7 -0
- package/dist/commands/detach.d.ts.map +1 -0
- package/dist/commands/detach.js +31 -0
- package/dist/commands/detach.js.map +1 -0
- package/dist/commands/init.d.ts +51 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +1660 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/migrate.d.ts +10 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/commands/migrate.js +38 -0
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/purge.d.ts +9 -0
- package/dist/commands/purge.d.ts.map +1 -0
- package/dist/commands/purge.js +29 -0
- package/dist/commands/purge.js.map +1 -0
- package/dist/commands/rollback.d.ts +7 -0
- package/dist/commands/rollback.d.ts.map +1 -0
- package/dist/commands/rollback.js +27 -0
- package/dist/commands/rollback.js.map +1 -0
- package/dist/commands/rollout.d.ts +34 -0
- package/dist/commands/rollout.d.ts.map +1 -0
- package/dist/commands/rollout.js +102 -0
- package/dist/commands/rollout.js.map +1 -0
- package/dist/commands/uninstall.d.ts +23 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +68 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/update.d.ts +139 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +2459 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/upgrade.d.ts +28 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +84 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/commands/validate-rules.d.ts +6 -0
- package/dist/commands/validate-rules.d.ts.map +1 -0
- package/dist/commands/validate-rules.js +33 -0
- package/dist/commands/validate-rules.js.map +1 -0
- package/dist/commands/workflow.d.ts +35 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +220 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/configurators/cursor.d.ts +21 -0
- package/dist/configurators/cursor.d.ts.map +1 -0
- package/dist/configurators/cursor.js +51 -0
- package/dist/configurators/cursor.js.map +1 -0
- package/dist/configurators/index.d.ts +68 -0
- package/dist/configurators/index.d.ts.map +1 -0
- package/dist/configurators/index.js +170 -0
- package/dist/configurators/index.js.map +1 -0
- package/dist/configurators/shared.d.ts +200 -0
- package/dist/configurators/shared.d.ts.map +1 -0
- package/dist/configurators/shared.js +602 -0
- package/dist/configurators/shared.js.map +1 -0
- package/dist/configurators/workflow.d.ts +45 -0
- package/dist/configurators/workflow.d.ts.map +1 -0
- package/dist/configurators/workflow.js +256 -0
- package/dist/configurators/workflow.js.map +1 -0
- package/dist/constants/paths.d.ts +93 -0
- package/dist/constants/paths.d.ts.map +1 -0
- package/dist/constants/paths.js +106 -0
- package/dist/constants/paths.js.map +1 -0
- package/dist/constants/version.d.ts +9 -0
- package/dist/constants/version.d.ts.map +1 -0
- package/dist/constants/version.js +15 -0
- package/dist/constants/version.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/migrations/index.d.ts +62 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +187 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/manifests/0.1.0.json +9 -0
- package/dist/migrations/manifests/0.1.1.json +9 -0
- package/dist/migrations/manifests/0.1.2.json +9 -0
- package/dist/migrations/manifests/0.1.3.json +9 -0
- package/dist/migrations/manifests/0.1.4.json +9 -0
- package/dist/migrations/manifests/0.2.1.json +9 -0
- package/dist/migrations/manifests/0.2.10.json +374 -0
- package/dist/migrations/manifests/0.2.2.json +9 -0
- package/dist/migrations/manifests/0.2.3.json +9 -0
- package/dist/migrations/manifests/0.2.4.json +9 -0
- package/dist/migrations/manifests/0.2.5.json +9 -0
- package/dist/migrations/manifests/0.2.6.json +9 -0
- package/dist/migrations/manifests/0.2.7.json +9 -0
- package/dist/migrations/manifests/0.2.8.json +9 -0
- package/dist/migrations/manifests/0.2.9.json +9 -0
- package/dist/migrations/manifests/0.3.0.json +89 -0
- package/dist/migrations/manifests/0.3.1.json +32 -0
- package/dist/migrations/manifests/0.3.2.json +16 -0
- package/dist/migrations/manifests/0.3.3.json +9 -0
- package/dist/migrations/manifests/0.3.4.json +9 -0
- package/dist/migrations/manifests/0.3.5.json +9 -0
- package/dist/migrations/manifests/0.3.6.json +9 -0
- package/dist/migrations/manifests/0.4.0.json +9 -0
- package/dist/migrations/manifests/0.4.1.json +9 -0
- package/dist/migrations/manifests/0.4.2.json +9 -0
- package/dist/migrations/manifests/0.4.3.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.0.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.1.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.2.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.3.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.4.json +9 -0
- package/dist/migrations/manifests/0.5.0-beta.5.json +9 -0
- package/dist/pactile/adapters/codex/index.d.ts +75 -0
- package/dist/pactile/adapters/codex/index.d.ts.map +1 -0
- package/dist/pactile/adapters/codex/index.js +269 -0
- package/dist/pactile/adapters/codex/index.js.map +1 -0
- package/dist/pactile/adapters/cursor/index.d.ts +60 -0
- package/dist/pactile/adapters/cursor/index.d.ts.map +1 -0
- package/dist/pactile/adapters/cursor/index.js +186 -0
- package/dist/pactile/adapters/cursor/index.js.map +1 -0
- package/dist/pactile/adapters/index.d.ts +4 -0
- package/dist/pactile/adapters/index.d.ts.map +1 -0
- package/dist/pactile/adapters/index.js +4 -0
- package/dist/pactile/adapters/index.js.map +1 -0
- package/dist/pactile/adoption/bindings.d.ts +20 -0
- package/dist/pactile/adoption/bindings.d.ts.map +1 -0
- package/dist/pactile/adoption/bindings.js +99 -0
- package/dist/pactile/adoption/bindings.js.map +1 -0
- package/dist/pactile/adoption/discovery.d.ts +8 -0
- package/dist/pactile/adoption/discovery.d.ts.map +1 -0
- package/dist/pactile/adoption/discovery.js +159 -0
- package/dist/pactile/adoption/discovery.js.map +1 -0
- package/dist/pactile/adoption/inventory.d.ts +28 -0
- package/dist/pactile/adoption/inventory.d.ts.map +1 -0
- package/dist/pactile/adoption/inventory.js +261 -0
- package/dist/pactile/adoption/inventory.js.map +1 -0
- package/dist/pactile/adoption/safety.d.ts +19 -0
- package/dist/pactile/adoption/safety.d.ts.map +1 -0
- package/dist/pactile/adoption/safety.js +88 -0
- package/dist/pactile/adoption/safety.js.map +1 -0
- package/dist/pactile/adoption/workflow.d.ts +31 -0
- package/dist/pactile/adoption/workflow.d.ts.map +1 -0
- package/dist/pactile/adoption/workflow.js +259 -0
- package/dist/pactile/adoption/workflow.js.map +1 -0
- package/dist/pactile/compat/cli-options.d.ts +9 -0
- package/dist/pactile/compat/cli-options.d.ts.map +1 -0
- package/dist/pactile/compat/cli-options.js +9 -0
- package/dist/pactile/compat/cli-options.js.map +1 -0
- package/dist/pactile/compat/init-context.d.ts +16 -0
- package/dist/pactile/compat/init-context.d.ts.map +1 -0
- package/dist/pactile/compat/init-context.js +87 -0
- package/dist/pactile/compat/init-context.js.map +1 -0
- package/dist/pactile/compat/legacy-migrations.d.ts +8 -0
- package/dist/pactile/compat/legacy-migrations.d.ts.map +1 -0
- package/dist/pactile/compat/legacy-migrations.js +17 -0
- package/dist/pactile/compat/legacy-migrations.js.map +1 -0
- package/dist/pactile/compat/retired-alternate-client.d.ts +42 -0
- package/dist/pactile/compat/retired-alternate-client.d.ts.map +1 -0
- package/dist/pactile/compat/retired-alternate-client.js +153 -0
- package/dist/pactile/compat/retired-alternate-client.js.map +1 -0
- package/dist/pactile/compat/update-residue.d.ts +4 -0
- package/dist/pactile/compat/update-residue.d.ts.map +1 -0
- package/dist/pactile/compat/update-residue.js +55 -0
- package/dist/pactile/compat/update-residue.js.map +1 -0
- package/dist/pactile/exit/index.d.ts +3 -0
- package/dist/pactile/exit/index.d.ts.map +1 -0
- package/dist/pactile/exit/index.js +3 -0
- package/dist/pactile/exit/index.js.map +1 -0
- package/dist/pactile/exit/receipt.d.ts +23 -0
- package/dist/pactile/exit/receipt.d.ts.map +1 -0
- package/dist/pactile/exit/receipt.js +64 -0
- package/dist/pactile/exit/receipt.js.map +1 -0
- package/dist/pactile/exit/service.d.ts +107 -0
- package/dist/pactile/exit/service.d.ts.map +1 -0
- package/dist/pactile/exit/service.js +774 -0
- package/dist/pactile/exit/service.js.map +1 -0
- package/dist/pactile/index.d.ts +26 -0
- package/dist/pactile/index.d.ts.map +1 -0
- package/dist/pactile/index.js +22 -0
- package/dist/pactile/index.js.map +1 -0
- package/dist/pactile/lifecycle/command-runner.d.ts +26 -0
- package/dist/pactile/lifecycle/command-runner.d.ts.map +1 -0
- package/dist/pactile/lifecycle/command-runner.js +129 -0
- package/dist/pactile/lifecycle/command-runner.js.map +1 -0
- package/dist/pactile/lifecycle/default-adapters.d.ts +5 -0
- package/dist/pactile/lifecycle/default-adapters.d.ts.map +1 -0
- package/dist/pactile/lifecycle/default-adapters.js +136 -0
- package/dist/pactile/lifecycle/default-adapters.js.map +1 -0
- package/dist/pactile/lifecycle/index.d.ts +6 -0
- package/dist/pactile/lifecycle/index.d.ts.map +1 -0
- package/dist/pactile/lifecycle/index.js +6 -0
- package/dist/pactile/lifecycle/index.js.map +1 -0
- package/dist/pactile/lifecycle/legacy-import.d.ts +16 -0
- package/dist/pactile/lifecycle/legacy-import.d.ts.map +1 -0
- package/dist/pactile/lifecycle/legacy-import.js +228 -0
- package/dist/pactile/lifecycle/legacy-import.js.map +1 -0
- package/dist/pactile/lifecycle/orchestrator.d.ts +109 -0
- package/dist/pactile/lifecycle/orchestrator.d.ts.map +1 -0
- package/dist/pactile/lifecycle/orchestrator.js +1030 -0
- package/dist/pactile/lifecycle/orchestrator.js.map +1 -0
- package/dist/pactile/lifecycle/project-files.d.ts +28 -0
- package/dist/pactile/lifecycle/project-files.d.ts.map +1 -0
- package/dist/pactile/lifecycle/project-files.js +297 -0
- package/dist/pactile/lifecycle/project-files.js.map +1 -0
- package/dist/pactile/middleware/index.d.ts +3 -0
- package/dist/pactile/middleware/index.d.ts.map +1 -0
- package/dist/pactile/middleware/index.js +2 -0
- package/dist/pactile/middleware/index.js.map +1 -0
- package/dist/pactile/middleware/manifest-loader.d.ts +22 -0
- package/dist/pactile/middleware/manifest-loader.d.ts.map +1 -0
- package/dist/pactile/middleware/manifest-loader.js +228 -0
- package/dist/pactile/middleware/manifest-loader.js.map +1 -0
- package/dist/pactile/migration/index.d.ts +2 -0
- package/dist/pactile/migration/index.d.ts.map +1 -0
- package/dist/pactile/migration/index.js +2 -0
- package/dist/pactile/migration/index.js.map +1 -0
- package/dist/pactile/migration/transaction.d.ts +54 -0
- package/dist/pactile/migration/transaction.d.ts.map +1 -0
- package/dist/pactile/migration/transaction.js +445 -0
- package/dist/pactile/migration/transaction.js.map +1 -0
- package/dist/pactile/projection/managed-block.d.ts +32 -0
- package/dist/pactile/projection/managed-block.d.ts.map +1 -0
- package/dist/pactile/projection/managed-block.js +78 -0
- package/dist/pactile/projection/managed-block.js.map +1 -0
- package/dist/pactile/projection/planner.d.ts +65 -0
- package/dist/pactile/projection/planner.d.ts.map +1 -0
- package/dist/pactile/projection/planner.js +349 -0
- package/dist/pactile/projection/planner.js.map +1 -0
- package/dist/pactile/projection/shared/index.d.ts +38 -0
- package/dist/pactile/projection/shared/index.d.ts.map +1 -0
- package/dist/pactile/projection/shared/index.js +186 -0
- package/dist/pactile/projection/shared/index.js.map +1 -0
- package/dist/pactile/projection/store.d.ts +72 -0
- package/dist/pactile/projection/store.d.ts.map +1 -0
- package/dist/pactile/projection/store.js +669 -0
- package/dist/pactile/projection/store.js.map +1 -0
- package/dist/pactile/projection/structured-merge.d.ts +11 -0
- package/dist/pactile/projection/structured-merge.d.ts.map +1 -0
- package/dist/pactile/projection/structured-merge.js +347 -0
- package/dist/pactile/projection/structured-merge.js.map +1 -0
- package/dist/pactile/providers/index.d.ts +3 -0
- package/dist/pactile/providers/index.d.ts.map +1 -0
- package/dist/pactile/providers/index.js +3 -0
- package/dist/pactile/providers/index.js.map +1 -0
- package/dist/pactile/providers/probes.d.ts +55 -0
- package/dist/pactile/providers/probes.d.ts.map +1 -0
- package/dist/pactile/providers/probes.js +164 -0
- package/dist/pactile/providers/probes.js.map +1 -0
- package/dist/pactile/registry.d.ts +64 -0
- package/dist/pactile/registry.d.ts.map +1 -0
- package/dist/pactile/registry.js +196 -0
- package/dist/pactile/registry.js.map +1 -0
- package/dist/pactile/retrieval/boundary.d.ts +18 -0
- package/dist/pactile/retrieval/boundary.d.ts.map +1 -0
- package/dist/pactile/retrieval/boundary.js +113 -0
- package/dist/pactile/retrieval/boundary.js.map +1 -0
- package/dist/pactile/retrieval/evidence.d.ts +9 -0
- package/dist/pactile/retrieval/evidence.d.ts.map +1 -0
- package/dist/pactile/retrieval/evidence.js +327 -0
- package/dist/pactile/retrieval/evidence.js.map +1 -0
- package/dist/pactile/retrieval/index.d.ts +4 -0
- package/dist/pactile/retrieval/index.d.ts.map +1 -0
- package/dist/pactile/retrieval/index.js +4 -0
- package/dist/pactile/retrieval/index.js.map +1 -0
- package/dist/pactile/retrieval/planner.d.ts +23 -0
- package/dist/pactile/retrieval/planner.d.ts.map +1 -0
- package/dist/pactile/retrieval/planner.js +702 -0
- package/dist/pactile/retrieval/planner.js.map +1 -0
- package/dist/pactile/retrieval/types.d.ts +108 -0
- package/dist/pactile/retrieval/types.d.ts.map +1 -0
- package/dist/pactile/retrieval/types.js +36 -0
- package/dist/pactile/retrieval/types.js.map +1 -0
- package/dist/pactile/runtime/case-fold.d.ts +2 -0
- package/dist/pactile/runtime/case-fold.d.ts.map +1 -0
- package/dist/pactile/runtime/case-fold.js +31 -0
- package/dist/pactile/runtime/case-fold.js.map +1 -0
- package/dist/pactile/runtime/index.d.ts +8 -0
- package/dist/pactile/runtime/index.d.ts.map +1 -0
- package/dist/pactile/runtime/index.js +5 -0
- package/dist/pactile/runtime/index.js.map +1 -0
- package/dist/pactile/runtime/json-api.d.ts +15 -0
- package/dist/pactile/runtime/json-api.d.ts.map +1 -0
- package/dist/pactile/runtime/json-api.js +68 -0
- package/dist/pactile/runtime/json-api.js.map +1 -0
- package/dist/pactile/runtime/paths.d.ts +59 -0
- package/dist/pactile/runtime/paths.d.ts.map +1 -0
- package/dist/pactile/runtime/paths.js +201 -0
- package/dist/pactile/runtime/paths.js.map +1 -0
- package/dist/pactile/runtime/stores.d.ts +54 -0
- package/dist/pactile/runtime/stores.d.ts.map +1 -0
- package/dist/pactile/runtime/stores.js +375 -0
- package/dist/pactile/runtime/stores.js.map +1 -0
- package/dist/pactile/runtime/unicode-nfc-data.d.ts +12 -0
- package/dist/pactile/runtime/unicode-nfc-data.d.ts.map +1 -0
- package/dist/pactile/runtime/unicode-nfc-data.js +8 -0
- package/dist/pactile/runtime/unicode-nfc-data.js.map +1 -0
- package/dist/pactile/runtime/unicode-nfc.d.ts +3 -0
- package/dist/pactile/runtime/unicode-nfc.d.ts.map +1 -0
- package/dist/pactile/runtime/unicode-nfc.js +77 -0
- package/dist/pactile/runtime/unicode-nfc.js.map +1 -0
- package/dist/pactile/tiles/catalog.d.ts +35 -0
- package/dist/pactile/tiles/catalog.d.ts.map +1 -0
- package/dist/pactile/tiles/catalog.js +235 -0
- package/dist/pactile/tiles/catalog.js.map +1 -0
- package/dist/pactile/tiles/compiler.d.ts +54 -0
- package/dist/pactile/tiles/compiler.d.ts.map +1 -0
- package/dist/pactile/tiles/compiler.js +270 -0
- package/dist/pactile/tiles/compiler.js.map +1 -0
- package/dist/pactile/tiles/content/baseline/index.d.ts +5 -0
- package/dist/pactile/tiles/content/baseline/index.d.ts.map +1 -0
- package/dist/pactile/tiles/content/baseline/index.js +115 -0
- package/dist/pactile/tiles/content/baseline/index.js.map +1 -0
- package/dist/pactile/tiles/content/index.d.ts +4 -0
- package/dist/pactile/tiles/content/index.d.ts.map +1 -0
- package/dist/pactile/tiles/content/index.js +4 -0
- package/dist/pactile/tiles/content/index.js.map +1 -0
- package/dist/pactile/tiles/content/ondemand/index.d.ts +5 -0
- package/dist/pactile/tiles/content/ondemand/index.d.ts.map +1 -0
- package/dist/pactile/tiles/content/ondemand/index.js +184 -0
- package/dist/pactile/tiles/content/ondemand/index.js.map +1 -0
- package/dist/pactile/tiles/content/source.d.ts +29 -0
- package/dist/pactile/tiles/content/source.d.ts.map +1 -0
- package/dist/pactile/tiles/content/source.js +86 -0
- package/dist/pactile/tiles/content/source.js.map +1 -0
- package/dist/pactile/tiles/loader.d.ts +31 -0
- package/dist/pactile/tiles/loader.d.ts.map +1 -0
- package/dist/pactile/tiles/loader.js +139 -0
- package/dist/pactile/tiles/loader.js.map +1 -0
- package/dist/pactile/tiles/safe-yaml.d.ts +11 -0
- package/dist/pactile/tiles/safe-yaml.d.ts.map +1 -0
- package/dist/pactile/tiles/safe-yaml.js +212 -0
- package/dist/pactile/tiles/safe-yaml.js.map +1 -0
- package/dist/templates/common/bundled-skills/pactile-check/SKILL.md +161 -0
- package/dist/templates/common/bundled-skills/pactile-check/references/fowler-12-smells.md +28 -0
- package/dist/templates/common/bundled-skills/pactile-handoff/SKILL.md +117 -0
- package/dist/templates/common/bundled-skills/pactile-meta/SKILL.md +75 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/add-project-local-conventions.md +83 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-agents.md +47 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-context-loading.md +84 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-hooks.md +57 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-skills-or-commands.md +77 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-spec-structure.md +83 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-task-lifecycle.md +88 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-workflow.md +65 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/overview.md +55 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/context-injection.md +68 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/generated-files.md +83 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/overview.md +51 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/spec-system.md +102 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/task-system.md +133 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/workflow.md +75 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/local-architecture/workspace-memory.md +71 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/agents.md +69 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/hooks-and-settings.md +59 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/overview.md +45 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/platform-map.md +45 -0
- package/dist/templates/common/bundled-skills/pactile-meta/references/platform-files/skills-and-commands.md +108 -0
- package/dist/templates/common/bundled-skills/pactile-micro-grill/SKILL.md +68 -0
- package/dist/templates/common/bundled-skills/pactile-skill-creator/SKILL.md +47 -0
- package/dist/templates/common/bundled-skills/pactile-skill-creator/references/authoring-rules.md +171 -0
- package/dist/templates/common/bundled-skills/pactile-skill-creator/references/general-authoring.md +189 -0
- package/dist/templates/common/bundled-skills/pactile-skill-creator/references/pactile-skill-locations.md +52 -0
- package/dist/templates/common/bundled-skills/pactile-skill-creator/references/review-checklist.md +52 -0
- package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/SKILL.md +41 -0
- package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/mcp-setup.md +90 -0
- package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/repository-analysis.md +59 -0
- package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/spec-task-planning.md +61 -0
- package/dist/templates/common/bundled-skills/pactile-spec-bootstrap/references/spec-writing.md +70 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/SKILL.md +393 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/agents/openai.yaml +3 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/examples/batch-search.md +98 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/examples/evidence-gathering.md +89 -0
- package/dist/templates/common/bundled-skills/smart-search-cli/references/cli-contract.md +323 -0
- package/dist/templates/common/commands/continue.md +62 -0
- package/dist/templates/common/commands/finish-work.md +82 -0
- package/dist/templates/common/commands/start.md +66 -0
- package/dist/templates/common/index.d.ts +68 -0
- package/dist/templates/common/index.d.ts.map +1 -0
- package/dist/templates/common/index.js +123 -0
- package/dist/templates/common/index.js.map +1 -0
- package/dist/templates/common/optional-skills/chrome-cdp/SKILL.md +179 -0
- package/dist/templates/common/optional-skills/chrome-cdp/examples/fetch-hook-api-capture.md +149 -0
- package/dist/templates/common/optional-skills/chrome-cdp/scripts/cdp.mjs +904 -0
- package/dist/templates/common/skills/before-dev.md +35 -0
- package/dist/templates/common/skills/brainstorm.md +204 -0
- package/dist/templates/common/skills/break-loop.md +125 -0
- package/dist/templates/common/skills/update-spec.md +364 -0
- package/dist/templates/cursor/agents/pactile-check.md +58 -0
- package/dist/templates/cursor/agents/pactile-implement.md +56 -0
- package/dist/templates/cursor/agents/pactile-research.md +51 -0
- package/dist/templates/cursor/commands/handoff.md +101 -0
- package/dist/templates/cursor/fixtures/expected-rules.d.ts +14 -0
- package/dist/templates/cursor/fixtures/expected-rules.d.ts.map +1 -0
- package/dist/templates/cursor/fixtures/expected-rules.js +20 -0
- package/dist/templates/cursor/fixtures/expected-rules.js.map +1 -0
- package/dist/templates/cursor/hooks.json +52 -0
- package/dist/templates/cursor/index.d.ts +19 -0
- package/dist/templates/cursor/index.d.ts.map +1 -0
- package/dist/templates/cursor/index.js +19 -0
- package/dist/templates/cursor/index.js.map +1 -0
- package/dist/templates/cursor/rules/pactile-bootstrap.mdc +18 -0
- package/dist/templates/cursor/worktrees.json +11 -0
- package/dist/templates/extract.d.ts +38 -0
- package/dist/templates/extract.d.ts.map +1 -0
- package/dist/templates/extract.js +120 -0
- package/dist/templates/extract.js.map +1 -0
- package/dist/templates/markdown/agents.md +14 -0
- package/dist/templates/markdown/framework/artifact-locale-guide.md.txt +93 -0
- package/dist/templates/markdown/framework/cursor-context-injection-guide.md.txt +85 -0
- package/dist/templates/markdown/framework/cursor-native-modes-guide.md.txt +239 -0
- package/dist/templates/markdown/framework/cursor-semantic-compliance.md.txt +41 -0
- package/dist/templates/markdown/framework/cursor-subagent-policy.md.txt +90 -0
- package/dist/templates/markdown/framework/dogfood-only-surfaces.md.txt +28 -0
- package/dist/templates/markdown/framework/execution-strategy.md.txt +45 -0
- package/dist/templates/markdown/framework/index.md.txt +31 -0
- package/dist/templates/markdown/framework/injection-budget-guide.md.txt +111 -0
- package/dist/templates/markdown/framework/internal-skills-cursor-reachability.md.txt +45 -0
- package/dist/templates/markdown/framework/middleware-protocol.md.txt +238 -0
- package/dist/templates/markdown/framework/parallel-first-execution.md.txt +116 -0
- package/dist/templates/markdown/framework/prd-grill-frontier.md.txt +105 -0
- package/dist/templates/markdown/framework/release-boundary.md.txt +30 -0
- package/dist/templates/markdown/framework/retrieval-daily-guide.md.txt +199 -0
- package/dist/templates/markdown/framework/upgrade.md.txt +15 -0
- package/dist/templates/markdown/framework/verification-strength-guide.md.txt +185 -0
- package/dist/templates/markdown/gitignore.txt +15 -0
- package/dist/templates/markdown/index.d.ts +59 -0
- package/dist/templates/markdown/index.d.ts.map +1 -0
- package/dist/templates/markdown/index.js +144 -0
- package/dist/templates/markdown/index.js.map +1 -0
- package/dist/templates/markdown/prompts/run-semantic-slice-12.md.txt +25 -0
- package/dist/templates/markdown/spec/backend/database-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/directory-structure.md.txt +54 -0
- package/dist/templates/markdown/spec/backend/error-handling.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/index.md.txt +38 -0
- package/dist/templates/markdown/spec/backend/logging-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/component-guidelines.md.txt +59 -0
- package/dist/templates/markdown/spec/frontend/directory-structure.md.txt +54 -0
- package/dist/templates/markdown/spec/frontend/hook-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/index.md.txt +39 -0
- package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/state-management.md.txt +51 -0
- package/dist/templates/markdown/spec/frontend/type-safety.md.txt +51 -0
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +174 -0
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +162 -0
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +634 -0
- package/dist/templates/markdown/spec/guides/debug-loop-guide.md.txt +227 -0
- package/dist/templates/markdown/spec/guides/durable-learning-decision-guide.md.txt +76 -0
- package/dist/templates/markdown/spec/guides/e2e-walkthrough-guide.md.txt +93 -0
- package/dist/templates/markdown/spec/guides/index.md.txt +131 -0
- package/dist/templates/markdown/spec/guides/prototype-guide.md.txt +139 -0
- package/dist/templates/markdown/spec/guides/test-discipline-guide.md.txt +179 -0
- package/dist/templates/markdown/workspace-index.md +125 -0
- package/dist/templates/markdown/worktree.yaml.txt +58 -0
- package/dist/templates/pactile/CONTEXT.md +113 -0
- package/dist/templates/pactile/config/execution-strategy-rules.json +31 -0
- package/dist/templates/pactile/config.yaml +130 -0
- package/dist/templates/pactile/docs/adr/README.md +21 -0
- package/dist/templates/pactile/gitignore.txt +35 -0
- package/dist/templates/pactile/index.d.ts +134 -0
- package/dist/templates/pactile/index.d.ts.map +1 -0
- package/dist/templates/pactile/index.js +316 -0
- package/dist/templates/pactile/index.js.map +1 -0
- package/dist/templates/pactile/modules/approval-personal/contract.md +43 -0
- package/dist/templates/pactile/modules/candidate-pool/contract.md +37 -0
- package/dist/templates/pactile/modules/catalog.d.ts +32 -0
- package/dist/templates/pactile/modules/catalog.d.ts.map +1 -0
- package/dist/templates/pactile/modules/catalog.js +46 -0
- package/dist/templates/pactile/modules/catalog.js.map +1 -0
- package/dist/templates/pactile/modules/close-basic/contract.md +38 -0
- package/dist/templates/pactile/modules/context-progressive/contract.md +44 -0
- package/dist/templates/pactile/modules/debug-recovery/contract.md +44 -0
- package/dist/templates/pactile/modules/define-basic/contract.md +39 -0
- package/dist/templates/pactile/modules/define-extended/contract.md +45 -0
- package/dist/templates/pactile/modules/execute-agent/contract.md +38 -0
- package/dist/templates/pactile/modules/independent-check/contract.md +35 -0
- package/dist/templates/pactile/modules/index.json +133 -0
- package/dist/templates/pactile/modules/intake-basic/contract.md +34 -0
- package/dist/templates/pactile/modules/observability-local/contract.md +31 -0
- package/dist/templates/pactile/modules/parent-child/contract.md +45 -0
- package/dist/templates/pactile/modules/personal-memory/contract.md +56 -0
- package/dist/templates/pactile/modules/retention-storage/contract.md +43 -0
- package/dist/templates/pactile/modules/retrieval-extended/contract.md +77 -0
- package/dist/templates/pactile/modules/session-transfer/contract.md +41 -0
- package/dist/templates/pactile/modules/spec-learning/contract.md +50 -0
- package/dist/templates/pactile/modules/vcs-integration/contract.md +46 -0
- package/dist/templates/pactile/modules/verify-basic/contract.md +38 -0
- package/dist/templates/pactile/modules/worker-orchestration/contract.md +47 -0
- package/dist/templates/pactile/pool/README.md +149 -0
- package/dist/templates/pactile/pool/items/.gitkeep +0 -0
- package/dist/templates/pactile/pool/plan.md +50 -0
- package/dist/templates/pactile/scripts/__init__.py +5 -0
- package/dist/templates/pactile/scripts/add_session.py +547 -0
- package/dist/templates/pactile/scripts/build_context_pack.py +17 -0
- package/dist/templates/pactile/scripts/build_retrieval_pack.py +376 -0
- package/dist/templates/pactile/scripts/codegraph_session_smoke.py +76 -0
- package/dist/templates/pactile/scripts/common/__init__.py +103 -0
- package/dist/templates/pactile/scripts/common/active_task.py +576 -0
- package/dist/templates/pactile/scripts/common/adapter_middleware.py +1373 -0
- package/dist/templates/pactile/scripts/common/artifact_locale.py +303 -0
- package/dist/templates/pactile/scripts/common/artifact_search.py +587 -0
- package/dist/templates/pactile/scripts/common/cli_adapter.py +135 -0
- package/dist/templates/pactile/scripts/common/cli_environment.py +155 -0
- package/dist/templates/pactile/scripts/common/codebase_retrieval_router.py +1339 -0
- package/dist/templates/pactile/scripts/common/config.py +497 -0
- package/dist/templates/pactile/scripts/common/context_pack.py +371 -0
- package/dist/templates/pactile/scripts/common/cursor_retrieval_env.py +31 -0
- package/dist/templates/pactile/scripts/common/developer.py +190 -0
- package/dist/templates/pactile/scripts/common/execution_strategy.py +268 -0
- package/dist/templates/pactile/scripts/common/full_quality.py +237 -0
- package/dist/templates/pactile/scripts/common/git.py +37 -0
- package/dist/templates/pactile/scripts/common/git_context.py +198 -0
- package/dist/templates/pactile/scripts/common/injection_budget.py +317 -0
- package/dist/templates/pactile/scripts/common/io.py +37 -0
- package/dist/templates/pactile/scripts/common/kernel_command.py +369 -0
- package/dist/templates/pactile/scripts/common/lite_context.py +280 -0
- package/dist/templates/pactile/scripts/common/log.py +45 -0
- package/dist/templates/pactile/scripts/common/ondemand_topology.py +419 -0
- package/dist/templates/pactile/scripts/common/packages_context.py +239 -0
- package/dist/templates/pactile/scripts/common/pactile_config.py +131 -0
- package/dist/templates/pactile/scripts/common/parallel_declaration.py +369 -0
- package/dist/templates/pactile/scripts/common/parent_orchestration.py +1198 -0
- package/dist/templates/pactile/scripts/common/paths.py +756 -0
- package/dist/templates/pactile/scripts/common/pool_refs.py +119 -0
- package/dist/templates/pactile/scripts/common/pool_slice.py +269 -0
- package/dist/templates/pactile/scripts/common/pool_store.py +766 -0
- package/dist/templates/pactile/scripts/common/project_file_stats.py +91 -0
- package/dist/templates/pactile/scripts/common/retrieval_adapter_metadata.py +943 -0
- package/dist/templates/pactile/scripts/common/retrieval_agent_instructions.py +123 -0
- package/dist/templates/pactile/scripts/common/retrieval_evidence.py +915 -0
- package/dist/templates/pactile/scripts/common/retrieval_pack.py +422 -0
- package/dist/templates/pactile/scripts/common/retrieval_pack_context.py +122 -0
- package/dist/templates/pactile/scripts/common/retrieval_plan_gate.py +61 -0
- package/dist/templates/pactile/scripts/common/retrieval_result_ranking.py +104 -0
- package/dist/templates/pactile/scripts/common/retrieval_tool_classification.py +166 -0
- package/dist/templates/pactile/scripts/common/safe_commit.py +285 -0
- package/dist/templates/pactile/scripts/common/semantic_plan_gate.py +53 -0
- package/dist/templates/pactile/scripts/common/session_context.py +1213 -0
- package/dist/templates/pactile/scripts/common/session_memory.py +386 -0
- package/dist/templates/pactile/scripts/common/session_pack.py +886 -0
- package/dist/templates/pactile/scripts/common/smart_search_evidence.py +514 -0
- package/dist/templates/pactile/scripts/common/smart_search_resolve.py +150 -0
- package/dist/templates/pactile/scripts/common/subagent_dispatch.py +592 -0
- package/dist/templates/pactile/scripts/common/task_context.py +241 -0
- package/dist/templates/pactile/scripts/common/task_dashboard.py +286 -0
- package/dist/templates/pactile/scripts/common/task_dependencies.py +648 -0
- package/dist/templates/pactile/scripts/common/task_gates.py +2478 -0
- package/dist/templates/pactile/scripts/common/task_map.py +703 -0
- package/dist/templates/pactile/scripts/common/task_queue.py +188 -0
- package/dist/templates/pactile/scripts/common/task_store.py +2252 -0
- package/dist/templates/pactile/scripts/common/task_utils.py +274 -0
- package/dist/templates/pactile/scripts/common/tasks.py +231 -0
- package/dist/templates/pactile/scripts/common/test_adapter_middleware.py +199 -0
- package/dist/templates/pactile/scripts/common/test_depends_mode_block.py +509 -0
- package/dist/templates/pactile/scripts/common/test_full_quality.py +197 -0
- package/dist/templates/pactile/scripts/common/test_kernel_command.py +336 -0
- package/dist/templates/pactile/scripts/common/test_lite_path.py +190 -0
- package/dist/templates/pactile/scripts/common/test_observable_defaults.py +141 -0
- package/dist/templates/pactile/scripts/common/test_ondemand_topology.py +237 -0
- package/dist/templates/pactile/scripts/common/test_parallel_declaration.py +264 -0
- package/dist/templates/pactile/scripts/common/test_pool_slice.py +198 -0
- package/dist/templates/pactile/scripts/common/test_pool_store.py +452 -0
- package/dist/templates/pactile/scripts/common/test_retrieval_arbitration.py +331 -0
- package/dist/templates/pactile/scripts/common/test_task_dashboard.py +155 -0
- package/dist/templates/pactile/scripts/common/test_task_dependencies.py +329 -0
- package/dist/templates/pactile/scripts/common/test_task_store_kernel_patch.py +163 -0
- package/dist/templates/pactile/scripts/common/types.py +110 -0
- package/dist/templates/pactile/scripts/common/workflow_phase.py +194 -0
- package/dist/templates/pactile/scripts/compile_session_pack.py +15 -0
- package/dist/templates/pactile/scripts/cursor_retrieval_probe.py +64 -0
- package/dist/templates/pactile/scripts/cursor_retrieval_probe_prompt.md +33 -0
- package/dist/templates/pactile/scripts/generate_dispatch_prompt.py +182 -0
- package/dist/templates/pactile/scripts/get_context.py +19 -0
- package/dist/templates/pactile/scripts/get_developer.py +26 -0
- package/dist/templates/pactile/scripts/hooks/linear_sync.py +243 -0
- package/dist/templates/pactile/scripts/init_developer.py +51 -0
- package/dist/templates/pactile/scripts/injection_budget_probe.py +69 -0
- package/dist/templates/pactile/scripts/pool.py +237 -0
- package/dist/templates/pactile/scripts/rank_retrieval_candidates.py +98 -0
- package/dist/templates/pactile/scripts/retrieval_probe_matrix_template.json +43 -0
- package/dist/templates/pactile/scripts/route_codebase_retrieval.py +72 -0
- package/dist/templates/pactile/scripts/run_smart_search.py +12 -0
- package/dist/templates/pactile/scripts/score_evidence.py +131 -0
- package/dist/templates/pactile/scripts/search_artifacts.py +13 -0
- package/dist/templates/pactile/scripts/search_memory.py +12 -0
- package/dist/templates/pactile/scripts/spec_health_outcomes.py +160 -0
- package/dist/templates/pactile/scripts/task.py +1118 -0
- package/dist/templates/pactile/scripts/verify_evidence_probe.py +138 -0
- package/dist/templates/pactile/tasks/.gitkeep +0 -0
- package/dist/templates/pactile/tasks/locale/en/default-prd.md +27 -0
- package/dist/templates/pactile/tasks/locale/zh/default-prd.md +27 -0
- package/dist/templates/pactile/tasks/templates/release-execution/design.md +61 -0
- package/dist/templates/pactile/tasks/templates/release-execution/handoff-template.md +29 -0
- package/dist/templates/pactile/tasks/templates/release-execution/implement.md +29 -0
- package/dist/templates/pactile/tasks/templates/release-execution/prd.md +31 -0
- package/dist/templates/pactile/tasks/templates/release-readiness/design.md +50 -0
- package/dist/templates/pactile/tasks/templates/release-readiness/handoff-template.md +39 -0
- package/dist/templates/pactile/tasks/templates/release-readiness/implement.md +29 -0
- package/dist/templates/pactile/tasks/templates/release-readiness/prd.md +31 -0
- package/dist/templates/pactile/workflow.md +64 -0
- package/dist/templates/shared-hooks/event-bridge.py +121 -0
- package/dist/templates/shared-hooks/index.d.ts +50 -0
- package/dist/templates/shared-hooks/index.d.ts.map +1 -0
- package/dist/templates/shared-hooks/index.js +96 -0
- package/dist/templates/shared-hooks/index.js.map +1 -0
- package/dist/templates/shared-hooks/inject-retrieval-plan.py +217 -0
- package/dist/templates/shared-hooks/inject-shell-session-context.py +183 -0
- package/dist/templates/shared-hooks/inject-subagent-context.py +267 -0
- package/dist/templates/shared-hooks/inject-workflow-state.py +106 -0
- package/dist/templates/shared-hooks/rename-session-for-task.py +231 -0
- package/dist/templates/shared-hooks/research-end-retrieval-pack.py +345 -0
- package/dist/templates/shared-hooks/session-start.py +355 -0
- package/dist/templates/shared-hooks/spec-write-audit.py +173 -0
- package/dist/templates/template-utils.d.ts +28 -0
- package/dist/templates/template-utils.d.ts.map +1 -0
- package/dist/templates/template-utils.js +83 -0
- package/dist/templates/template-utils.js.map +1 -0
- package/dist/types/ai-tools.d.ts +102 -0
- package/dist/types/ai-tools.d.ts.map +1 -0
- package/dist/types/ai-tools.js +60 -0
- package/dist/types/ai-tools.js.map +1 -0
- package/dist/types/migration.d.ts +125 -0
- package/dist/types/migration.d.ts.map +1 -0
- package/dist/types/migration.js +8 -0
- package/dist/types/migration.js.map +1 -0
- package/dist/utils/agents-md.d.ts +27 -0
- package/dist/utils/agents-md.d.ts.map +1 -0
- package/dist/utils/agents-md.js +70 -0
- package/dist/utils/agents-md.js.map +1 -0
- package/dist/utils/codebase-retrieval-router.d.ts +31 -0
- package/dist/utils/codebase-retrieval-router.d.ts.map +1 -0
- package/dist/utils/codebase-retrieval-router.js +88 -0
- package/dist/utils/codebase-retrieval-router.js.map +1 -0
- package/dist/utils/compare-versions.d.ts +12 -0
- package/dist/utils/compare-versions.d.ts.map +1 -0
- package/dist/utils/compare-versions.js +86 -0
- package/dist/utils/compare-versions.js.map +1 -0
- package/dist/utils/cursor-retrieval-env.d.ts +17 -0
- package/dist/utils/cursor-retrieval-env.d.ts.map +1 -0
- package/dist/utils/cursor-retrieval-env.js +19 -0
- package/dist/utils/cursor-retrieval-env.js.map +1 -0
- package/dist/utils/cwd-guard.d.ts +38 -0
- package/dist/utils/cwd-guard.d.ts.map +1 -0
- package/dist/utils/cwd-guard.js +63 -0
- package/dist/utils/cwd-guard.js.map +1 -0
- package/dist/utils/file-writer.d.ts +36 -0
- package/dist/utils/file-writer.d.ts.map +1 -0
- package/dist/utils/file-writer.js +203 -0
- package/dist/utils/file-writer.js.map +1 -0
- package/dist/utils/manifest-prune.d.ts +59 -0
- package/dist/utils/manifest-prune.d.ts.map +1 -0
- package/dist/utils/manifest-prune.js +176 -0
- package/dist/utils/manifest-prune.js.map +1 -0
- package/dist/utils/mirror-check.d.ts +22 -0
- package/dist/utils/mirror-check.d.ts.map +1 -0
- package/dist/utils/mirror-check.js +90 -0
- package/dist/utils/mirror-check.js.map +1 -0
- package/dist/utils/normalize-text.d.ts +7 -0
- package/dist/utils/normalize-text.d.ts.map +1 -0
- package/dist/utils/normalize-text.js +16 -0
- package/dist/utils/normalize-text.js.map +1 -0
- package/dist/utils/p36-upgrade.d.ts +62 -0
- package/dist/utils/p36-upgrade.d.ts.map +1 -0
- package/dist/utils/p36-upgrade.js +165 -0
- package/dist/utils/p36-upgrade.js.map +1 -0
- package/dist/utils/posix.d.ts +13 -0
- package/dist/utils/posix.d.ts.map +1 -0
- package/dist/utils/posix.js +15 -0
- package/dist/utils/posix.js.map +1 -0
- package/dist/utils/post-update-smoke.d.ts +7 -0
- package/dist/utils/post-update-smoke.d.ts.map +1 -0
- package/dist/utils/post-update-smoke.js +40 -0
- package/dist/utils/post-update-smoke.js.map +1 -0
- package/dist/utils/project-capabilities.d.ts +82 -0
- package/dist/utils/project-capabilities.d.ts.map +1 -0
- package/dist/utils/project-capabilities.js +691 -0
- package/dist/utils/project-capabilities.js.map +1 -0
- package/dist/utils/project-detector.d.ts +46 -0
- package/dist/utils/project-detector.d.ts.map +1 -0
- package/dist/utils/project-detector.js +666 -0
- package/dist/utils/project-detector.js.map +1 -0
- package/dist/utils/proxy.d.ts +25 -0
- package/dist/utils/proxy.d.ts.map +1 -0
- package/dist/utils/proxy.js +60 -0
- package/dist/utils/proxy.js.map +1 -0
- package/dist/utils/readiness.d.ts +40 -0
- package/dist/utils/readiness.d.ts.map +1 -0
- package/dist/utils/readiness.js +491 -0
- package/dist/utils/readiness.js.map +1 -0
- package/dist/utils/retrieval-agent-instructions.d.ts +10 -0
- package/dist/utils/retrieval-agent-instructions.d.ts.map +1 -0
- package/dist/utils/retrieval-agent-instructions.js +97 -0
- package/dist/utils/retrieval-agent-instructions.js.map +1 -0
- package/dist/utils/retrieval-execution-telemetry.d.ts +53 -0
- package/dist/utils/retrieval-execution-telemetry.d.ts.map +1 -0
- package/dist/utils/retrieval-execution-telemetry.js +116 -0
- package/dist/utils/retrieval-execution-telemetry.js.map +1 -0
- package/dist/utils/retrieval-result-ranking.d.ts +34 -0
- package/dist/utils/retrieval-result-ranking.d.ts.map +1 -0
- package/dist/utils/retrieval-result-ranking.js +71 -0
- package/dist/utils/retrieval-result-ranking.js.map +1 -0
- package/dist/utils/retrieval-tool-classification.d.ts +18 -0
- package/dist/utils/retrieval-tool-classification.d.ts.map +1 -0
- package/dist/utils/retrieval-tool-classification.js +118 -0
- package/dist/utils/retrieval-tool-classification.js.map +1 -0
- package/dist/utils/semantic-plan-gate.d.ts +8 -0
- package/dist/utils/semantic-plan-gate.d.ts.map +1 -0
- package/dist/utils/semantic-plan-gate.js +24 -0
- package/dist/utils/semantic-plan-gate.js.map +1 -0
- package/dist/utils/task-json.d.ts +13 -0
- package/dist/utils/task-json.d.ts.map +1 -0
- package/dist/utils/task-json.js +12 -0
- package/dist/utils/task-json.js.map +1 -0
- package/dist/utils/template-fetcher.d.ts +150 -0
- package/dist/utils/template-fetcher.d.ts.map +1 -0
- package/dist/utils/template-fetcher.js +907 -0
- package/dist/utils/template-fetcher.js.map +1 -0
- package/dist/utils/template-hash.d.ts +123 -0
- package/dist/utils/template-hash.d.ts.map +1 -0
- package/dist/utils/template-hash.js +375 -0
- package/dist/utils/template-hash.js.map +1 -0
- package/dist/utils/uninstall-scrubbers.d.ts +30 -0
- package/dist/utils/uninstall-scrubbers.d.ts.map +1 -0
- package/dist/utils/uninstall-scrubbers.js +196 -0
- package/dist/utils/uninstall-scrubbers.js.map +1 -0
- package/dist/utils/update-rollout-report.d.ts +171 -0
- package/dist/utils/update-rollout-report.d.ts.map +1 -0
- package/dist/utils/update-rollout-report.js +126 -0
- package/dist/utils/update-rollout-report.js.map +1 -0
- package/dist/utils/validate-rules.d.ts +21 -0
- package/dist/utils/validate-rules.d.ts.map +1 -0
- package/dist/utils/validate-rules.js +88 -0
- package/dist/utils/validate-rules.js.map +1 -0
- package/dist/utils/workflow-dir.d.ts +15 -0
- package/dist/utils/workflow-dir.d.ts.map +1 -0
- package/dist/utils/workflow-dir.js +33 -0
- package/dist/utils/workflow-dir.js.map +1 -0
- package/dist/utils/workflow-resolver.d.ts +86 -0
- package/dist/utils/workflow-resolver.d.ts.map +1 -0
- package/dist/utils/workflow-resolver.js +265 -0
- package/dist/utils/workflow-resolver.js.map +1 -0
- package/package.json +117 -0
- package/scripts/postinstall.js +6 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pactile-check
|
|
3
|
+
description: "Comprehensive quality verification on two axes — Standards (spec compliance, lint, type-check, tests, code smells, cross-layer data flow) and Spec (prd fidelity, scope, learning/spec-sync). Use when code is written and needs quality verification, before committing changes, or to catch context drift during long sessions."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Code Quality Check
|
|
7
|
+
|
|
8
|
+
Comprehensive quality verification for recently written code. Combines spec compliance, cross-layer safety, and pre-commit checks.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Step 1: Identify What Changed
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
git diff --name-only HEAD
|
|
16
|
+
git status
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Step 2: Read Task Artifacts and Applicable Specs
|
|
20
|
+
|
|
21
|
+
Read the selected task artifacts in order:
|
|
22
|
+
|
|
23
|
+
- `prd.md`
|
|
24
|
+
- `design.md` if present
|
|
25
|
+
- `implement.md` if present
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
python ./.pactile/scripts/get_context.py --mode packages
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
For each changed package/layer, read the spec index and follow its **Quality Check** section:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
cat .pactile/spec/<package>/<layer>/index.md
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Read the specific guideline files referenced — the index is a pointer, not the goal.
|
|
38
|
+
|
|
39
|
+
## Step 3: Run Project Checks
|
|
40
|
+
|
|
41
|
+
Run the project's lint, type-check, and test commands. Fix any failures before proceeding.
|
|
42
|
+
|
|
43
|
+
## Step 4: Review Against Checklist (dual-axis)
|
|
44
|
+
|
|
45
|
+
Report **Standards and Spec in two separate sections** — never merge them into a single severity ranking. Standards findings first, then Spec findings; the same issue may be cross-referenced on both sides, but one axis must not mask the other. Do NOT output a "combined top risks" list mixing spec violations with requirement deviations.
|
|
46
|
+
|
|
47
|
+
### Dual-axis dispatch (Full+ only)
|
|
48
|
+
|
|
49
|
+
- **Lite / no task context**: single pass — the main agent runs Standards then Spec sequentially (no parallel split).
|
|
50
|
+
- **Full+ and sub-agents available**: may dispatch two read-only review sub-agents in parallel (a Standards-agent and a Spec-agent). They **only report findings, never modify code**; the main agent consolidates and fixes per Step 6.
|
|
51
|
+
- **Sub-agents unavailable**: degrade to single pass — do not block the check.
|
|
52
|
+
|
|
53
|
+
### Standards (did we write it right)
|
|
54
|
+
|
|
55
|
+
#### Code Quality
|
|
56
|
+
|
|
57
|
+
- [ ] Linter passes?
|
|
58
|
+
- [ ] Type checker passes (if applicable)?
|
|
59
|
+
- [ ] Tests pass?
|
|
60
|
+
- [ ] No debug logging left in?
|
|
61
|
+
- [ ] No suppressed warnings or type-safety bypasses?
|
|
62
|
+
|
|
63
|
+
#### Test Coverage (verification strength — not TDD)
|
|
64
|
+
|
|
65
|
+
Follow `.pactile/framework/verification-strength-guide.md` for **graded** validation depth by closeout profile. pactile does **not** mandate red-green TDD or per-function unit tests.
|
|
66
|
+
|
|
67
|
+
- [ ] **Lite:** focused validation on touched behavior recorded in `verify.md` (`Validation:` line + result)
|
|
68
|
+
- [ ] **Full:** above + `Check evidence:` + `Reviewed change-set:` when contract requires code-review gate
|
|
69
|
+
- [ ] New function / bug fix → add or update tests **when the project's norms and task scope require it** — not as automatic TDD ceremony
|
|
70
|
+
- [ ] `python ./.pactile/scripts/task.py validate <task>` passing JSONL schema **≠** task acceptance; substantive `verify.md` signals still required
|
|
71
|
+
|
|
72
|
+
#### Fowler 12 Smells
|
|
73
|
+
|
|
74
|
+
Scan the change surface against `references/fowler-12-smells.md` (12 named smells, one-line criterion + don't-report boundary each). Report when hit, `N/A` when not — do not pad the report with misses.
|
|
75
|
+
|
|
76
|
+
#### False-positive calibration (AI cross-review)
|
|
77
|
+
|
|
78
|
+
Before prioritizing any CRITICAL/WARNING finding, read `.pactile/spec/guides/index.md` → **"When Verifying AI Cross-Review Results"**: verify each finding against the actual code; budget ~35% false-positive rate for AI reviews; typical patterns: trust boundary confusion, ignoring design comments, variable misreading.
|
|
79
|
+
|
|
80
|
+
### Spec (did we build the right thing)
|
|
81
|
+
|
|
82
|
+
#### prd / design / implement fidelity
|
|
83
|
+
|
|
84
|
+
- [ ] Against `prd.md` Goal / Requirements / Acceptance Criteria: is the implementation faithful, and does it stay **within scope** (no over-scope)?
|
|
85
|
+
- [ ] Are `design.md` / `implement.md` boundaries violated (if present)?
|
|
86
|
+
|
|
87
|
+
#### Durable Learning (Phase 3.3)
|
|
88
|
+
|
|
89
|
+
- [ ] `verify.md` contains exactly one token: `Learning decision: update-spec` | `no-update` | `unsure`
|
|
90
|
+
- [ ] If `update-spec` or `unsure`: `research/learning-proposal.md` exists (or documented `N/A` with reason) and matches the decision
|
|
91
|
+
- [ ] If `no-update`: includes `no durable learning` (or guide-equivalent) plus brief rationale
|
|
92
|
+
- [ ] If `update-spec`: spec was written only after confirmation; `Spec update evidence:` points at `.pactile/spec/...`
|
|
93
|
+
- [ ] No silent edits to `.pactile/spec/` without confirmation
|
|
94
|
+
|
|
95
|
+
#### Spec Sync
|
|
96
|
+
|
|
97
|
+
- [ ] Does `.pactile/spec/` need updates? (route through semi-automatic flow: proposal → confirm → `pactile-update-spec`)
|
|
98
|
+
|
|
99
|
+
> "If I fixed a bug or discovered something non-obvious, should I document it so future me won't hit the same issue?" → If YES, update the relevant spec doc.
|
|
100
|
+
|
|
101
|
+
#### Retrieval evidence (when task used research / smart-search / optional pack)
|
|
102
|
+
|
|
103
|
+
- [ ] **`verify.md` lists unresolved retrieval gaps** — external facts still unverified, missing `research/` or `research/smart-search/` evidence, or claims without source/Git/test corroboration
|
|
104
|
+
- [ ] If `{TASK}/research/retrieval-pack-latest.json` exists, top `contextPack.selected` items are cited or gaps are explicitly noted in `verify.md`
|
|
105
|
+
|
|
106
|
+
**Evidence pack (graceful):** Path `{TASK}/research/retrieval-pack-latest.json`. If absent, skip — no error.
|
|
107
|
+
|
|
108
|
+
When present, Read the pack and ensure `verify.md` has `## Evidence pack reference` citing `contextPack.selected` (`title`, `source`, `reference`, `score`) or explicit gaps. Empty `selected` with existing `research/` → note stale pack or scoring failure in `verify.md`.
|
|
109
|
+
|
|
110
|
+
#### Terminology / ADR consistency (one line)
|
|
111
|
+
|
|
112
|
+
- [ ] Read root `CONTEXT.md`: do terms in the change mix `_Avoid_` aliases? If an irreversible decision was introduced, should there be an ADR? (Prompt only — do not force creating a file.)
|
|
113
|
+
|
|
114
|
+
### Report format
|
|
115
|
+
|
|
116
|
+
```markdown
|
|
117
|
+
## Standards findings
|
|
118
|
+
- [sev] ...
|
|
119
|
+
|
|
120
|
+
## Spec findings
|
|
121
|
+
- [sev] ...
|
|
122
|
+
|
|
123
|
+
## Summary
|
|
124
|
+
- Standards: N issues (not ranked against Spec)
|
|
125
|
+
- Spec: M issues
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Step 5: Cross-Layer Dimensions (if applicable)
|
|
129
|
+
|
|
130
|
+
Skip this step if your change is confined to a single layer.
|
|
131
|
+
|
|
132
|
+
### A. Data Flow (changes touch 3+ layers)
|
|
133
|
+
|
|
134
|
+
- [ ] Read flow traces correctly: Storage → Service → API → UI
|
|
135
|
+
- [ ] Write flow traces correctly: UI → API → Service → Storage
|
|
136
|
+
- [ ] Types/schemas correctly passed between layers?
|
|
137
|
+
- [ ] Errors properly propagated to caller?
|
|
138
|
+
|
|
139
|
+
### B. Code Reuse (modifying constants, creating utilities)
|
|
140
|
+
|
|
141
|
+
- [ ] Searched for existing similar code before creating new?
|
|
142
|
+
```bash
|
|
143
|
+
grep -r "pattern" src/
|
|
144
|
+
```
|
|
145
|
+
- [ ] If 2+ places define same value → extracted to shared constant?
|
|
146
|
+
- [ ] After batch modification, all occurrences updated?
|
|
147
|
+
|
|
148
|
+
### C. Import/Dependency (creating new files)
|
|
149
|
+
|
|
150
|
+
- [ ] Correct import paths (relative vs absolute)?
|
|
151
|
+
- [ ] No circular dependencies?
|
|
152
|
+
|
|
153
|
+
### D. Same-Layer Consistency
|
|
154
|
+
|
|
155
|
+
- [ ] Other places using the same concept are consistent?
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Step 6: Report and Fix
|
|
160
|
+
|
|
161
|
+
Report violations found (Standards and Spec sections per Step 4 format) and fix them directly. Parallel review sub-agents **do not fix** — the main agent owns all fixes. Re-run project checks after fixes.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Fowler 12 Smells — Quick Criterion Reference
|
|
2
|
+
|
|
3
|
+
Scan the change surface line by line: report when a smell is hit, write `N/A` when not. Each criterion is a one-line "is" definition; the **don't-report** boundaries guard against false positives (paired with the ~35% false-positive discipline in `.pactile/spec/guides/index.md`).
|
|
4
|
+
|
|
5
|
+
1. **Mysterious Name** — a name fails to express the code's intent (what it does / why it exists); the reader must read the implementation to understand it.
|
|
6
|
+
Don't report: evaluate only within the changed lines; do not opportunistically flag historical naming outside the change surface.
|
|
7
|
+
2. **Duplicated Code** — the same structure/expression is repeated in 2+ places, so a change must be synced across several sites.
|
|
8
|
+
Don't report: small test boilerplate (e.g. a one-line setup) where extraction would reduce readability.
|
|
9
|
+
3. **Feature Envy** — a method uses another object's data/methods far more than its own.
|
|
10
|
+
Don't report: an orchestration point that coordinates multiple collaborators is the method's job, not envy.
|
|
11
|
+
4. **Data Clumps** — the same group of fields/parameters keep appearing together and should be bundled into an object.
|
|
12
|
+
Don't report: don't force types that only bundle without adding behavior (lazy creation discipline).
|
|
13
|
+
5. **Primitive Obsession** — primitives (string/number/bool) carry concepts that deserve their own type (IDs, amounts, states).
|
|
14
|
+
Don't report: when the value domain is already constrained by an existing validation/config layer and adds no new behavior.
|
|
15
|
+
6. **Repeated Switches** — the same discriminating field (kind/type/status) drives switch/if-else chains repeated in multiple places.
|
|
16
|
+
Don't report: 1–2 occurrences where that is the language idiom (e.g. ADT pattern matching).
|
|
17
|
+
7. **Shotgun Surgery** — one conceptual change requires synchronized edits scattered across many places.
|
|
18
|
+
Don't report: when the multiple edits are concentrated in one cohesive module (locality holds).
|
|
19
|
+
8. **Divergent Change** — one module changes frequently for many different reasons.
|
|
20
|
+
Don't report: when the module is an intentional facade/aggregator.
|
|
21
|
+
9. **Speculative Generality** — abstractions/parameters/hooks are built for imagined future needs with no current caller.
|
|
22
|
+
Don't report: abstractions actually used in this change.
|
|
23
|
+
10. **Message Chains** — a long call chain `a.b().c().d()` is needed to reach a target value, with intermediate links being pure pass-through.
|
|
24
|
+
Don't report: when the fluent/builder chain is itself the public interface.
|
|
25
|
+
11. **Middle Man** — a class/method mostly forwards to somewhere else and adds little value of its own.
|
|
26
|
+
Don't report: when the forwarding provides encapsulation/seam value (e.g. an adapter sitting at a seam).
|
|
27
|
+
12. **Refused Bequest** — a subclass barely uses inherited parent behavior/fields, making the inheritance relationship nominal.
|
|
28
|
+
Don't report: when inheritance is used only for type identity/interface satisfaction (is-a semantics) or the unused members are minimal.
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pactile-handoff
|
|
3
|
+
description: "Condense the current session into a portable handoff document so a new agent / harness / directory can continue the work. User-invoked when the work needs to 'travel' (switch harness, switch directory or repo, hand to a colleague, or fork a side branch); writes to the OS temp directory and reports the full path."
|
|
4
|
+
argument-hint: "What will the next session use this for?"
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# pactile-handoff — Session handoff
|
|
9
|
+
|
|
10
|
+
Condense the current session into a **portable** handoff document (`pactile-handoff-{yyyyMMdd-HHmmss}-{slug}.md`), written to the **OS temp directory** (does not pollute the workspace), so a new agent can continue without the original session. User-invoked (`disable-model-invocation: true` — the agent never triggers it on its own; it is written only when the user invokes `/pactile-handoff`).
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## How this differs from a task `handoff.md` (read first)
|
|
15
|
+
|
|
16
|
+
**The two have opposite purposes — not interchangeable:**
|
|
17
|
+
|
|
18
|
+
| | This skill (session handoff) | Task `handoff.md` |
|
|
19
|
+
| --- | --- | --- |
|
|
20
|
+
| What | Portable cross-session summary | Child-task integration / implementation-window **delivery evidence** |
|
|
21
|
+
| Where | OS temp directory (volatile) | `.pactile/tasks/<task>/` (durable, archived with the task) |
|
|
22
|
+
| Lifecycle | Single transfer; dead once the work lands | Kept with the task evidence for Parent / review traces |
|
|
23
|
+
|
|
24
|
+
A task directory's `handoff.md` is the evidence file for `integrate-child` / `review-child`, **not** a session handoff document; the temp file this skill produces is **not** task evidence.
|
|
25
|
+
|
|
26
|
+
## When to use / when not (five-question tree)
|
|
27
|
+
|
|
28
|
+
At stage boundaries first ask: **does the work still continue in this session?**
|
|
29
|
+
|
|
30
|
+
1. **Continue** — default preference: keep going in this session
|
|
31
|
+
2. **Clear** — context can be dropped; clear and restart
|
|
32
|
+
3. **Handoff** — the work needs to travel → this skill
|
|
33
|
+
4. **Subagent** — a side branch can run in parallel while the main session stays → dispatch a subagent (optionally with a handoff file)
|
|
34
|
+
5. **Compact** — same harness, same directory, only intent compression needed → use the platform compact
|
|
35
|
+
|
|
36
|
+
**Handoff only when the work needs to travel**, triggered by exactly four situations:
|
|
37
|
+
|
|
38
|
+
| Situation | Why a file is needed |
|
|
39
|
+
| --- | --- |
|
|
40
|
+
| Switch harness (e.g. Cursor → Codex) | The new harness cannot see the old context |
|
|
41
|
+
| Switch directory / repo | Common for prototype directories and new repos |
|
|
42
|
+
| Hand to a colleague | They need something they can read independently |
|
|
43
|
+
| Fork a side branch (main line continues) | You stay in this session; a second agent takes a copy in parallel |
|
|
44
|
+
|
|
45
|
+
**Same harness, same directory continuation → compact / continue, not handoff.** The value of handoff is **portability**, not better compression; if only intent compression is wanted, `/compact` is the better fit.
|
|
46
|
+
|
|
47
|
+
## Steps
|
|
48
|
+
|
|
49
|
+
1. **Read the user argument**: the "next-session purpose" passed on invocation decides which whys to keep (trim key decision rationale by purpose — do not take everything verbatim).
|
|
50
|
+
2. **Write the temp file** (path rules below).
|
|
51
|
+
3. **Report the full absolute path** (required): temp paths are long and differ per OS; the user must get the path first.
|
|
52
|
+
4. **Remind about volatility**: the temp file may be cleaned by the environment (Codex clears temp across sessions; `/private/tmp` is lost on reboot). For cross-hour / cross-harness continuation, ask the user to copy it to a durable location immediately (this also applies to other temp files referenced by the document).
|
|
53
|
+
|
|
54
|
+
### Path rules (Windows first)
|
|
55
|
+
|
|
56
|
+
```text
|
|
57
|
+
$env:TEMP\pactile-handoff-{yyyyMMdd-HHmmss}-{slug}.md
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
- Windows: `$env:TEMP` (i.e. `%TEMP%`), e.g. `C:\Users\<user>\AppData\Local\Temp\pactile-handoff-20260808-153000-migrate-ts.md`
|
|
61
|
+
- Linux / macOS: `$TMPDIR/pactile-handoff-{yyyyMMdd-HHmmss}-{slug}.md` (`/tmp` when `$TMPDIR` is unset)
|
|
62
|
+
- After writing, always report the **full absolute path** to the user (Write-Host or plain text) — never just the filename.
|
|
63
|
+
|
|
64
|
+
## Content template (English skeleton)
|
|
65
|
+
|
|
66
|
+
> Follow `artifact_locale` when the project uses it; English by default.
|
|
67
|
+
|
|
68
|
+
```markdown
|
|
69
|
+
# Session handoff — <work summary>
|
|
70
|
+
|
|
71
|
+
> Generated by pactile-handoff at <time> · Next-session purpose: <user argument>
|
|
72
|
+
|
|
73
|
+
## Goal
|
|
74
|
+
<what the in-flight work is trying to achieve>
|
|
75
|
+
|
|
76
|
+
## Done
|
|
77
|
+
- <items>
|
|
78
|
+
|
|
79
|
+
## Not done / Blocked
|
|
80
|
+
- <items>
|
|
81
|
+
|
|
82
|
+
## Next steps
|
|
83
|
+
1. <ordered steps>
|
|
84
|
+
|
|
85
|
+
## Key whys (trimmed by next-session purpose)
|
|
86
|
+
- <decision + reason; whys unrelated to this purpose can be omitted>
|
|
87
|
+
|
|
88
|
+
## Facts vs unverified beliefs
|
|
89
|
+
- Facts: <verified>
|
|
90
|
+
- Beliefs (unverified): <assumptions — never write them as facts>
|
|
91
|
+
|
|
92
|
+
## Pointers (reference paths only, never copy bodies)
|
|
93
|
+
- Task: `.pactile/tasks/<task>/` (prd.md / design.md / implement.md / verify.md)
|
|
94
|
+
- Context: `CONTEXT.md` · Research: `<task>/research/`
|
|
95
|
+
- Prototype evidence (if a prototype was involved): `<task>/research/prototype-<slug>.py` (see `.pactile/spec/guides/prototype-guide.md` §9)
|
|
96
|
+
- Other: ADR / issue / commit / diff paths or URLs
|
|
97
|
+
|
|
98
|
+
## Suggested skills (for the continuing agent)
|
|
99
|
+
- <skill name list, e.g. pactile-brainstorm, pactile-check, pactile-continue>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Rules
|
|
103
|
+
|
|
104
|
+
- **Reference, don't copy**: anything already on disk (spec / PRD / ADR / issue / commit / diff) gets a path or URL only, never pasted verbatim. The document should be a small part of the session; a path list replaces copying.
|
|
105
|
+
- **Redact**: API keys, tokens, passwords, PII → replace with `<REDACTED>` before writing; when unsure, write `<REDACTED>`.
|
|
106
|
+
- **Facts vs beliefs**: unverified assumptions must be marked, never written as verified facts — the continuing agent will treat the document as a contract and will not re-check.
|
|
107
|
+
- **Prototype evidence pointer**: when the session involved a prototype, list the prototype evidence path in the pointers section (`prototype-guide.md` §9: git throwaway branch or a task `research/` path snapshot) and confirm the evidence is captured before cleanup.
|
|
108
|
+
- **Delivery**: have the new agent **read the file path**; do not stuff the summary into shell quotes to launch the new agent (backticks / `$(...)` get swallowed and silently truncated).
|
|
109
|
+
|
|
110
|
+
## Anti-patterns
|
|
111
|
+
|
|
112
|
+
- ❌ Treating handoff as a long-lived document: it is a transit document for a single transfer and dies once the work lands (long-term facts belong in `AGENTS.md` / spec, not handoff)
|
|
113
|
+
- ❌ Pasting large spec / PRD / diff bodies (should reference paths only)
|
|
114
|
+
- ❌ Stuffing the summary into shell quotes to launch the next agent (silent truncation risk)
|
|
115
|
+
- ❌ Not reporting the full path / not reminding about temp volatility
|
|
116
|
+
- ❌ Writing a handoff for same-harness same-directory continuation (should compact / continue)
|
|
117
|
+
- ❌ Writing keys / tokens into the document
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pactile-meta
|
|
3
|
+
description: "Understand and customize the local Pactile architecture inside a user project. Use when modifying .pactile plus platform hooks, settings, agents, skills, commands, prompts, or workflows generated by pactile init."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Pactile Meta
|
|
7
|
+
|
|
8
|
+
This skill is for local Pactile users who have already run `pactile init` in a project. After reading it, an AI should understand the Pactile architecture, operating model, and customization entry points inside that user project, then modify the generated `.pactile/` and platform directory files according to the user's request.
|
|
9
|
+
|
|
10
|
+
The default operating scope is local files in the user project:
|
|
11
|
+
|
|
12
|
+
- `.pactile/`: workflow, config, tasks, spec, workspace, scripts, and runtime state.
|
|
13
|
+
- Platform directory: `.cursor/` — skills, agents, hooks, commands, rules.
|
|
14
|
+
- Shared skill layer: `.agents/skills/` (industry skill-sharing path, kept when present but not extended by new Pactile behavior).
|
|
15
|
+
|
|
16
|
+
Pactile previously supported many AI-platform adapter directories (`.claude/`, `.codex/`, `.opencode/`, `.kiro/`, `.gemini/`, `.qoder/`, `.codebuddy/`, `.github/`, `.factory/`, `.pi/`, `.kilocode/`, `.agent/`, `.windsurf/`). The project has converged on **Cursor-only**. Legacy adapter directories in upgraded projects are preserved by `pactile update` but new Pactile behavior ships to `.cursor/` only.
|
|
17
|
+
|
|
18
|
+
Do not assume the user has the Pactile source repository. Do not default to modifying the global npm install directory or `node_modules`.
|
|
19
|
+
|
|
20
|
+
## How To Use
|
|
21
|
+
|
|
22
|
+
1. Read `references/local-architecture/overview.md` first to establish the local Pactile system model.
|
|
23
|
+
2. If the request involves a specific AI tool, read `references/platform-files/platform-map.md` and the relevant platform file notes.
|
|
24
|
+
3. If the user wants to change behavior, read `references/customize-local/overview.md`, then open the specific customization topic.
|
|
25
|
+
4. Before editing, read the actual files in the user project and treat local content as authoritative.
|
|
26
|
+
|
|
27
|
+
## References
|
|
28
|
+
|
|
29
|
+
### Local Architecture
|
|
30
|
+
|
|
31
|
+
- `references/local-architecture/overview.md`: The three-layer local Pactile architecture and customization principles.
|
|
32
|
+
- `references/local-architecture/generated-files.md`: Files generated by `pactile init` and their customization boundaries.
|
|
33
|
+
- `references/local-architecture/workflow.md`: Phases, routing, and workflow-state blocks in `.pactile/workflow.md`.
|
|
34
|
+
- `references/local-architecture/task-system.md`: Task directories, selected tasks, JSONL context, and task runtime.
|
|
35
|
+
- `references/local-architecture/spec-system.md`: How `.pactile/spec/` is organized and injected.
|
|
36
|
+
- `references/local-architecture/workspace-memory.md`: `.pactile/workspace/`, journals, and cross-session memory.
|
|
37
|
+
- `references/local-architecture/context-injection.md`: Hooks, sub-agent preludes, and context injection paths.
|
|
38
|
+
|
|
39
|
+
### Platform Files
|
|
40
|
+
|
|
41
|
+
- `references/platform-files/overview.md`: How shared `.pactile/` files relate to platform directories.
|
|
42
|
+
- `references/platform-files/platform-map.md`: Platform directories and paths for skills, agents, hooks, and extensions.
|
|
43
|
+
- `references/platform-files/hooks-and-settings.md`: How settings/config files, hooks, plugins, and extensions connect to Pactile.
|
|
44
|
+
- `references/platform-files/agents.md`: Local file responsibilities for `pactile-research`, `pactile-implement`, and `pactile-check`.
|
|
45
|
+
- `references/platform-files/skills-and-commands.md`: Differences between skills, commands, prompts, and workflows, plus how to change them.
|
|
46
|
+
|
|
47
|
+
### Local Customization
|
|
48
|
+
|
|
49
|
+
- `references/customize-local/overview.md`: Choose the right local customization entry point for the user's request.
|
|
50
|
+
- `references/customize-local/change-workflow.md`: Change phases, routing, next actions, and workflow-state.
|
|
51
|
+
- `references/customize-local/change-task-lifecycle.md`: Change task creation, status, archive behavior, and hooks.
|
|
52
|
+
- `references/customize-local/change-context-loading.md`: Change how tasks, specs, journals, and hook context are loaded.
|
|
53
|
+
- `references/customize-local/change-hooks.md`: Change platform hooks, settings, and shell session bridges.
|
|
54
|
+
- `references/customize-local/change-agents.md`: Change research, implement, and check agent behavior.
|
|
55
|
+
- `references/customize-local/change-skills-or-commands.md`: Add or modify local skills, commands, prompts, and workflows.
|
|
56
|
+
- `references/customize-local/change-spec-structure.md`: Adjust the project spec structure under `.pactile/spec/`.
|
|
57
|
+
- `references/customize-local/add-project-local-conventions.md`: Put team rules into project-local specs or local skills.
|
|
58
|
+
|
|
59
|
+
## Current Rules
|
|
60
|
+
|
|
61
|
+
- `.pactile/workflow.md` is the local workflow source of truth.
|
|
62
|
+
- `.pactile/config.yaml` is the project-level Pactile configuration and task hook configuration entry point.
|
|
63
|
+
- `.pactile/spec/` stores the user's project-specific coding conventions and design constraints.
|
|
64
|
+
- `.pactile/tasks/` stores task PRDs, technical notes, research files, and JSONL context.
|
|
65
|
+
- `.pactile/workspace/` stores developer journals and cross-session memory.
|
|
66
|
+
- Platform settings/config files decide which hooks, agents, skills, commands, prompts, and workflows actually run.
|
|
67
|
+
- `.pactile/.template-hashes.json` and `.pactile/.runtime/` are management/runtime state files. Confirm necessity before editing them.
|
|
68
|
+
|
|
69
|
+
## Do Not
|
|
70
|
+
|
|
71
|
+
- Do not treat Pactile upstream source code as the default target for local customization.
|
|
72
|
+
- Do not modify the global npm install directory or `node_modules/@blxzer/pactile` to implement project needs.
|
|
73
|
+
- Do not overwrite user-modified local files with default templates.
|
|
74
|
+
- Do not put team-private project rules into the public `pactile-meta`; put project rules in `.pactile/spec/` or a project-local skill.
|
|
75
|
+
- Do not describe removed historical mechanisms as current Pactile behavior.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Add Project-Local Conventions
|
|
2
|
+
|
|
3
|
+
Often the user does not need to change Pactile mechanics; they need local AI to understand their team's conventions. In that case, prefer `.pactile/spec/` or a project-local skill instead of editing `pactile-meta`.
|
|
4
|
+
|
|
5
|
+
## Where To Put Things
|
|
6
|
+
|
|
7
|
+
| Content type | Location |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| Rules code must follow | `.pactile/spec/<layer>/` |
|
|
10
|
+
| Cross-layer thinking methods | `.pactile/spec/guides/` |
|
|
11
|
+
| AI capability for a project-specific flow | Platform-local skill |
|
|
12
|
+
| One-off task material | `.pactile/tasks/<task>/` |
|
|
13
|
+
| Session summary | `.pactile/workspace/<developer>/journal-N.md` |
|
|
14
|
+
|
|
15
|
+
## Create A Project-Local Skill
|
|
16
|
+
|
|
17
|
+
If the user wants AI to know "how this project customizes Pactile," create a local skill:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
.claude/skills/pactile-local/
|
|
21
|
+
└── SKILL.md
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Example:
|
|
25
|
+
|
|
26
|
+
```md
|
|
27
|
+
---
|
|
28
|
+
name: pactile-local
|
|
29
|
+
description: "Project-local Pactile customizations for this repository. Use when changing this project's Pactile workflow, hooks, local agents, or team-specific conventions."
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
# Pactile Local
|
|
33
|
+
|
|
34
|
+
## Local Scope
|
|
35
|
+
|
|
36
|
+
This skill documents this repository's Pactile customizations only.
|
|
37
|
+
|
|
38
|
+
## Custom Workflow Rules
|
|
39
|
+
|
|
40
|
+
- ...
|
|
41
|
+
|
|
42
|
+
## Local Hook Changes
|
|
43
|
+
|
|
44
|
+
- ...
|
|
45
|
+
|
|
46
|
+
## Local Agent Changes
|
|
47
|
+
|
|
48
|
+
- ...
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
For multi-platform projects, place equivalent versions in other platform skill directories, or use `.agents/skills/` for platforms that support the shared layer.
|
|
52
|
+
|
|
53
|
+
## Write To `.pactile/spec/`
|
|
54
|
+
|
|
55
|
+
If the content is a coding convention, write it to spec. Examples:
|
|
56
|
+
|
|
57
|
+
```text
|
|
58
|
+
.pactile/spec/backend/error-handling.md
|
|
59
|
+
.pactile/spec/frontend/components.md
|
|
60
|
+
.pactile/spec/guides/cross-platform-thinking-guide.md
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
After writing it, update the corresponding `index.md` so AI can find the new rule from the entry point.
|
|
64
|
+
|
|
65
|
+
## Make The Selected Task Use New Conventions
|
|
66
|
+
|
|
67
|
+
After writing a spec, add it to the selected task context:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
python3 ./.pactile/scripts/task.py add-context <task> implement ".pactile/spec/backend/error-handling.md" "Error handling conventions"
|
|
71
|
+
python3 ./.pactile/scripts/task.py add-context <task> check ".pactile/spec/backend/error-handling.md" "Review error handling"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Do Not Store Project-Private Rules In `pactile-meta`
|
|
75
|
+
|
|
76
|
+
`pactile-meta` is a public skill for understanding Pactile architecture and local customization entry points. Put project-private content in:
|
|
77
|
+
|
|
78
|
+
- `.pactile/spec/`
|
|
79
|
+
- a project-local skill
|
|
80
|
+
- the selected task
|
|
81
|
+
- workspace journal
|
|
82
|
+
|
|
83
|
+
This prevents future updates to Pactile's built-in `pactile-meta` from overwriting the team's own conventions.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Change Local Agents
|
|
2
|
+
|
|
3
|
+
When the user wants to change `pactile-research`, `pactile-implement`, or `pactile-check` behavior, edit platform agent files in the user project.
|
|
4
|
+
|
|
5
|
+
## Read These Files First
|
|
6
|
+
|
|
7
|
+
1. Target platform agent directory
|
|
8
|
+
2. `.pactile/workflow.md` Phase 2 / research routing
|
|
9
|
+
3. Selected task `prd.md`
|
|
10
|
+
4. Selected task `implement.jsonl` / `check.jsonl`
|
|
11
|
+
5. Relevant hook or agent prelude
|
|
12
|
+
|
|
13
|
+
## Common Paths
|
|
14
|
+
|
|
15
|
+
| Platform | Path |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| Cursor | `.cursor/agents/pactile-*.md` |
|
|
18
|
+
|
|
19
|
+
If a user project still contains legacy platform agent directories (`.claude/agents/`, `.codex/agents/`, etc.), inspect them but route new agent definitions to `.cursor/agents/`.
|
|
20
|
+
|
|
21
|
+
Use the actual paths in the user project as authoritative.
|
|
22
|
+
|
|
23
|
+
## Common Needs
|
|
24
|
+
|
|
25
|
+
| Need | Which agent to edit |
|
|
26
|
+
| --- | --- |
|
|
27
|
+
| Research must write files, not only reply in chat | `pactile-research` |
|
|
28
|
+
| Certain local specs must be read before implementation | `pactile-implement` + `implement.jsonl` configuration rules |
|
|
29
|
+
| Specific commands must run during checking | `pactile-check` |
|
|
30
|
+
| Agent must not modify certain directories | The corresponding agent's write boundary instructions |
|
|
31
|
+
| Agent output format must be fixed | The corresponding agent's final/reporting instructions |
|
|
32
|
+
|
|
33
|
+
## Modification Principles
|
|
34
|
+
|
|
35
|
+
1. **Preserve role boundaries**: research investigates and persists; implement writes implementation; check reviews and fixes.
|
|
36
|
+
2. **Do not hard-code project specs into agents**: long-term specs belong in `.pactile/spec/`; agents are responsible for reading them.
|
|
37
|
+
3. **Make read order explicit**: selected task -> PRD -> info -> JSONL -> spec/research.
|
|
38
|
+
4. **Make write boundaries explicit**: which directories may be written and which may not.
|
|
39
|
+
5. **Treat dogfood + published copies consistently**: `.cursor/agents/pactile-*.md` (dogfooded) and `packages/cli/src/templates/cursor/agents/pactile-*.md` (published template) must stay in sync — see `cross-layer-thinking-guide.md.txt` → Cross-Package Template Consistency.
|
|
40
|
+
|
|
41
|
+
## Agent Pull Mode
|
|
42
|
+
|
|
43
|
+
If an agent file contains a prelude for "read task/context after startup," do not remove those steps when editing. Otherwise the agent will work only from chat context and bypass Pactile's core mechanism.
|
|
44
|
+
|
|
45
|
+
## Hook Push Mode
|
|
46
|
+
|
|
47
|
+
If context is injected by a hook, the agent file should still retain responsibility boundaries. Do not remove PRD/spec requirements from the agent just because a hook injects context.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Change Local Context Loading
|
|
2
|
+
|
|
3
|
+
Context loading determines when AI reads workflow, task, spec, research, workspace, and git status. Read this page when the user says "AI does not know the selected task," "the agent did not read specs," or "there is too much/too little context."
|
|
4
|
+
|
|
5
|
+
## Read These Files First
|
|
6
|
+
|
|
7
|
+
1. `.pactile/workflow.md`
|
|
8
|
+
2. `.pactile/scripts/get_context.py`
|
|
9
|
+
3. `.pactile/scripts/common/session_context.py`
|
|
10
|
+
4. `.pactile/scripts/common/task_context.py`
|
|
11
|
+
5. `.pactile/scripts/common/active_task.py`
|
|
12
|
+
6. Current platform hooks or agent files
|
|
13
|
+
7. The selected task's `implement.jsonl` / `check.jsonl`
|
|
14
|
+
|
|
15
|
+
## Context Sources
|
|
16
|
+
|
|
17
|
+
| Source | Purpose |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| `.pactile/workflow.md` | Workflow and next-action hints. |
|
|
20
|
+
| `.pactile/tasks/<task>/prd.md` | Selected task requirements. |
|
|
21
|
+
| `.pactile/tasks/<task>/design.md` | Complex task technical design. |
|
|
22
|
+
| `.pactile/tasks/<task>/implement.md` | Complex task execution plan. |
|
|
23
|
+
| `.pactile/tasks/<task>/implement.jsonl` | Spec/research to read before implementation. |
|
|
24
|
+
| `.pactile/tasks/<task>/check.jsonl` | Spec/research to read during checking. |
|
|
25
|
+
| `.pactile/spec/` | Project specs. |
|
|
26
|
+
| `.pactile/workspace/` | Session records. |
|
|
27
|
+
| git status | Current working tree changes. |
|
|
28
|
+
|
|
29
|
+
## Common Needs And Edit Points
|
|
30
|
+
|
|
31
|
+
| Need | Edit point |
|
|
32
|
+
| --- | --- |
|
|
33
|
+
| Inject more/less information in new sessions | `session_context.py` or the platform `session-start` hook. |
|
|
34
|
+
| Change hints on each user input | `[workflow-state:STATUS]` block in `.pactile/workflow.md`. The `inject-workflow-state` hook is parser-only and reads the block verbatim. |
|
|
35
|
+
| Agent did not read specs | Task JSONL, agent prelude, `inject-subagent-context` hook. |
|
|
36
|
+
| Selected task is lost | `active_task.py` and platform session identity propagation. |
|
|
37
|
+
| Change JSONL validation rules | `task_context.py`. |
|
|
38
|
+
|
|
39
|
+
## JSONL Rules
|
|
40
|
+
|
|
41
|
+
`implement.jsonl` / `check.jsonl` are the key context loading interface:
|
|
42
|
+
|
|
43
|
+
```jsonl
|
|
44
|
+
{"file": ".pactile/spec/backend/index.md", "reason": "Backend conventions"}
|
|
45
|
+
{"file": ".pactile/tasks/04-28-x/research/api.md", "reason": "API research"}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Include only spec/research files. Do not put code files that will be modified into these manifests; agents read code files themselves during implementation.
|
|
49
|
+
|
|
50
|
+
## Change Session Context
|
|
51
|
+
|
|
52
|
+
If the user wants every new session to see more project state, edit:
|
|
53
|
+
|
|
54
|
+
- `.pactile/scripts/common/session_context.py`
|
|
55
|
+
- the corresponding platform `session-start` hook
|
|
56
|
+
|
|
57
|
+
Context cannot grow without bound. Prefer injecting indexes and paths so the AI can read detailed files on demand.
|
|
58
|
+
|
|
59
|
+
## Change Sub-Agent Context
|
|
60
|
+
|
|
61
|
+
First determine which mode the platform uses:
|
|
62
|
+
|
|
63
|
+
- hook push: edit the `inject-subagent-context` hook.
|
|
64
|
+
- agent pull: edit the read steps in the corresponding `pactile-implement` / `pactile-check` agent file.
|
|
65
|
+
|
|
66
|
+
In both modes, make sure the agent ultimately reads:
|
|
67
|
+
|
|
68
|
+
1. selected task
|
|
69
|
+
2. the corresponding JSONL
|
|
70
|
+
3. spec/research referenced by the JSONL
|
|
71
|
+
4. `prd.md`
|
|
72
|
+
5. `design.md` if present
|
|
73
|
+
6. `implement.md` if present
|
|
74
|
+
|
|
75
|
+
## Troubleshooting Order
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
python3 ./.pactile/scripts/task.py selected --source
|
|
79
|
+
python3 ./.pactile/scripts/task.py list-context <task>
|
|
80
|
+
python3 ./.pactile/scripts/task.py validate <task>
|
|
81
|
+
python3 ./.pactile/scripts/get_context.py --mode packages
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Confirm the task and JSONL are correct before editing hooks/agents.
|
package/dist/templates/common/bundled-skills/pactile-meta/references/customize-local/change-hooks.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Change Local Hooks
|
|
2
|
+
|
|
3
|
+
Hooks are the automation layer that connects a platform to Pactile. When the user wants to change "when context is injected," "how shell commands inherit a session," or "which files are read before an agent starts," hooks are usually the edit point.
|
|
4
|
+
|
|
5
|
+
## Read These Files First
|
|
6
|
+
|
|
7
|
+
1. Target platform settings/config: `.cursor/hooks.json`
|
|
8
|
+
2. Target platform hooks directory
|
|
9
|
+
3. `.pactile/scripts/common/active_task.py`
|
|
10
|
+
4. `.pactile/scripts/common/session_context.py`
|
|
11
|
+
5. `.pactile/workflow.md`
|
|
12
|
+
|
|
13
|
+
## Common Hook Types
|
|
14
|
+
|
|
15
|
+
| Hook | Purpose |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| session-start | Injects a Pactile overview when a session starts, clears, or compacts. |
|
|
18
|
+
| workflow-state | Injects a state hint on each user input. |
|
|
19
|
+
| sub-agent context | Injects PRD/spec/research before an agent starts. |
|
|
20
|
+
| shell session bridge | Lets `task.py` commands in shell see the same session identity. |
|
|
21
|
+
|
|
22
|
+
## Modification Steps
|
|
23
|
+
|
|
24
|
+
1. Find the hook registration in settings/config.
|
|
25
|
+
2. Confirm the registered script path exists.
|
|
26
|
+
3. Read the hook script and identify inputs, outputs, and called `.pactile/scripts/`.
|
|
27
|
+
4. Modify hook behavior.
|
|
28
|
+
5. If the hook depends on workflow content, synchronize `.pactile/workflow.md`.
|
|
29
|
+
|
|
30
|
+
## Example: Change New-Session Injection Content
|
|
31
|
+
|
|
32
|
+
First find the session-start hook:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
.cursor/hooks.json
|
|
36
|
+
.cursor/hooks/session-start.py
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
If the hook ultimately calls `.pactile/scripts/get_context.py` or `session_context.py`, editing the local script is usually more robust than hard-coding content in the hook.
|
|
40
|
+
|
|
41
|
+
## Example: Agent Did Not Read JSONL
|
|
42
|
+
|
|
43
|
+
First confirm:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
python3 ./.pactile/scripts/task.py selected --source
|
|
47
|
+
python3 ./.pactile/scripts/task.py validate <task>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
If the task and JSONL are correct, determine whether the platform uses hook push or agent pull. For hook push, edit `inject-subagent-context`; for agent pull, edit the agent file.
|
|
51
|
+
|
|
52
|
+
## Notes
|
|
53
|
+
|
|
54
|
+
- Settings handle registration, hook scripts handle behavior; inspect both together.
|
|
55
|
+
- Cursor's hook event surface has changed between releases; confirm against the current Cursor build before wiring a new event.
|
|
56
|
+
- Hooks should read project-local `.pactile/`; they should not depend on Pactile upstream source paths.
|
|
57
|
+
- Hook failures should produce visible errors so AI does not silently lose context.
|