@amsterdamdatalabs/enact-extensions 0.1.37 → 0.1.47
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/README.md +67 -108
- package/bundled-extensions.json +6 -0
- package/dist/create/enact.d.ts.map +1 -1
- package/dist/create/enact.js +2 -0
- package/dist/create/enact.js.map +1 -1
- package/dist/create/index.d.ts +3 -0
- package/dist/create/index.d.ts.map +1 -1
- package/dist/create/index.js +6 -0
- package/dist/create/index.js.map +1 -1
- package/dist/create/kimi.d.ts +16 -0
- package/dist/create/kimi.d.ts.map +1 -0
- package/dist/create/kimi.js +87 -0
- package/dist/create/kimi.js.map +1 -0
- package/dist/create/opencode.d.ts +129 -0
- package/dist/create/opencode.d.ts.map +1 -0
- package/dist/create/opencode.js +696 -0
- package/dist/create/opencode.js.map +1 -0
- package/dist/index.d.ts +12 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/internal/agents.d.ts +12 -2
- package/dist/internal/agents.d.ts.map +1 -1
- package/dist/internal/agents.js +119 -3
- package/dist/internal/agents.js.map +1 -1
- package/dist/internal/extensions-table.d.ts +58 -0
- package/dist/internal/extensions-table.d.ts.map +1 -0
- package/dist/internal/extensions-table.js +134 -0
- package/dist/internal/extensions-table.js.map +1 -0
- package/dist/internal/file-ops.d.ts +36 -0
- package/dist/internal/file-ops.d.ts.map +1 -0
- package/dist/internal/file-ops.js +89 -0
- package/dist/internal/file-ops.js.map +1 -0
- package/dist/internal/hooks.d.ts +56 -0
- package/dist/internal/hooks.d.ts.map +1 -0
- package/dist/internal/hooks.js +128 -0
- package/dist/internal/hooks.js.map +1 -0
- package/dist/internal/json-merge.d.ts +63 -0
- package/dist/internal/json-merge.d.ts.map +1 -0
- package/dist/internal/json-merge.js +122 -0
- package/dist/internal/json-merge.js.map +1 -0
- package/dist/internal/lock-ownership.d.ts +41 -0
- package/dist/internal/lock-ownership.d.ts.map +1 -0
- package/dist/internal/lock-ownership.js +24 -0
- package/dist/internal/lock-ownership.js.map +1 -0
- package/dist/internal/platform.d.ts.map +1 -1
- package/dist/internal/platform.js +90 -4
- package/dist/internal/platform.js.map +1 -1
- package/dist/internal/schema.js.map +1 -1
- package/dist/internal/toml-block.d.ts +59 -0
- package/dist/internal/toml-block.d.ts.map +1 -0
- package/dist/internal/toml-block.js +113 -0
- package/dist/internal/toml-block.js.map +1 -0
- package/dist/internal/types.d.ts +2 -1
- package/dist/internal/types.d.ts.map +1 -1
- package/dist/projection.d.ts +47 -0
- package/dist/projection.d.ts.map +1 -0
- package/dist/projection.js +180 -0
- package/dist/projection.js.map +1 -0
- package/dist/validate/index.d.ts +9 -4
- package/dist/validate/index.d.ts.map +1 -1
- package/dist/validate/index.js +56 -7
- package/dist/validate/index.js.map +1 -1
- package/dist/validate/kimi.d.ts +3 -0
- package/dist/validate/kimi.d.ts.map +1 -0
- package/dist/validate/kimi.js +11 -0
- package/dist/validate/kimi.js.map +1 -0
- package/dist/validate/opencode.d.ts +3 -0
- package/dist/validate/opencode.d.ts.map +1 -0
- package/dist/validate/opencode.js +11 -0
- package/dist/validate/opencode.js.map +1 -0
- package/dist/validate/run.d.ts +39 -0
- package/dist/validate/run.d.ts.map +1 -0
- package/dist/validate/run.js +63 -0
- package/dist/validate/run.js.map +1 -0
- package/extensions/enact-loop/.agents/plugin.json +12 -8
- package/extensions/enact-loop/scripts/validate.mjs +113 -2
- package/extensions/enact-loop/skills/enact-loop/SKILL.md +36 -466
- package/extensions/enact-loop/skills/enact-loop/references/loop-contract.md +114 -0
- package/extensions/enact-loop/skills/loop-budget/SKILL.md +57 -0
- package/extensions/enact-loop/skills/loop-intake/SKILL.md +59 -0
- package/extensions/enact-repo/.agents/plugin.json +55 -0
- package/extensions/enact-repo/.mcp.json +20 -0
- package/extensions/enact-repo/README.md +90 -0
- package/extensions/enact-repo/hooks/hooks.json +98 -0
- package/extensions/enact-repo/lean-ctx/config.toml +35 -0
- package/extensions/enact-repo/lean-ctx/layout.toml +5 -0
- package/extensions/enact-repo/skills/aca-sandboxes/SKILL.md +53 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/capabilities.md +52 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/install.md +87 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/prerequisites.md +52 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/quickstart.md +164 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/reference-advanced.md +251 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/reference.md +287 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/response-cues.md +71 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/scenarios.md +219 -0
- package/extensions/enact-repo/skills/aca-sandboxes/version.json +4 -0
- package/extensions/enact-repo/skills/backend-remove-deadcode/SKILL.md +96 -0
- package/extensions/enact-repo/skills/cmux-leader/SKILL.md +61 -0
- package/extensions/enact-repo/skills/cmux-send/SKILL.md +61 -0
- package/extensions/enact-repo/skills/code-review/SKILL.md +100 -0
- package/extensions/enact-repo/skills/codebase-design/SKILL.md +98 -0
- package/extensions/enact-repo/skills/codebase-design/references/DEEPENING.md +37 -0
- package/extensions/enact-repo/skills/codebase-design/references/DESIGN-IT-TWICE.md +44 -0
- package/extensions/enact-repo/skills/codebase-design/references/TESTABILITY.md +29 -0
- package/extensions/enact-repo/skills/computer-use/SKILL.md +76 -0
- package/extensions/enact-repo/skills/debug-issue/SKILL.md +40 -0
- package/extensions/enact-repo/skills/diagnosing-bugs/SKILL.md +100 -0
- package/extensions/enact-repo/skills/diagnosing-bugs/references/FEEDBACK-LOOP-TACTICS.md +34 -0
- package/extensions/enact-repo/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
- package/extensions/enact-repo/skills/domain-modeling/SKILL.md +86 -0
- package/extensions/enact-repo/skills/domain-modeling/references/ADR-FORMAT.md +47 -0
- package/extensions/enact-repo/skills/domain-modeling/references/CONTEXT-FORMAT.md +60 -0
- package/extensions/enact-repo/skills/explore-codebase/SKILL.md +41 -0
- package/extensions/enact-repo/skills/frontend-design/LICENSE.txt +177 -0
- package/extensions/enact-repo/skills/frontend-design/SKILL.md +56 -0
- package/extensions/enact-repo/skills/grill-me/SKILL.md +20 -0
- package/extensions/enact-repo/skills/grill-with-docs/SKILL.md +20 -0
- package/extensions/enact-repo/skills/handoff/SKILL.md +28 -0
- package/extensions/enact-repo/skills/http-contract-migration/SKILL.md +74 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/compatibility-and-gates.md +26 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/hexagonal-boundary.md +16 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/publication-and-adoption.md +31 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/wire-fidelity-and-dto.md +31 -0
- package/extensions/enact-repo/skills/implement/SKILL.md +28 -0
- package/extensions/enact-repo/skills/improve-codebase-architecture/SKILL.md +80 -0
- package/extensions/enact-repo/skills/improve-codebase-architecture/references/HTML-REPORT.md +123 -0
- package/extensions/enact-repo/skills/interaction-design/SKILL.md +30 -0
- package/extensions/enact-repo/skills/interaction-design/references/Workflow.md +146 -0
- package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-gsap.md +220 -0
- package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-native.md +110 -0
- package/extensions/enact-repo/skills/interaction-design/references/animation-libraries.md +178 -0
- package/extensions/enact-repo/skills/interaction-design/references/interaction-patterns.md +166 -0
- package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns-advanced.md +285 -0
- package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns.md +254 -0
- package/extensions/enact-repo/skills/interaction-design/references/scroll-animations-reveals.md +213 -0
- package/extensions/enact-repo/skills/interaction-design/references/scroll-animations.md +209 -0
- package/extensions/enact-repo/skills/lean-ctx/SKILL.md +81 -0
- package/extensions/enact-repo/skills/orca-cli/SKILL.md +88 -0
- package/extensions/enact-repo/skills/orchestration/SKILL.md +80 -0
- package/extensions/enact-repo/skills/prototype/SKILL.md +37 -0
- package/extensions/enact-repo/skills/prototype/references/LOGIC.md +79 -0
- package/extensions/enact-repo/skills/prototype/references/UI.md +112 -0
- package/extensions/enact-repo/skills/refactor-safely/SKILL.md +44 -0
- package/extensions/enact-repo/skills/remove-deadcode/SKILL.md +54 -0
- package/extensions/enact-repo/skills/research/SKILL.md +27 -0
- package/extensions/enact-repo/skills/resolving-merge-conflicts/SKILL.md +28 -0
- package/extensions/enact-repo/skills/review-changes/SKILL.md +45 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/SKILL.md +88 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/accent-color.mdx +149 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/adding-custom-styles.mdx +635 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-content.mdx +300 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-items.mdx +241 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-self.mdx +294 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/animation.mdx +286 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/appearance.mdx +180 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/aspect-ratio.mdx +98 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-blur.mdx +109 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-brightness.mdx +82 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-contrast.mdx +82 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-grayscale.mdx +99 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-hue-rotate.mdx +173 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-invert.mdx +99 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-opacity.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-saturate.mdx +98 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-sepia.mdx +95 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter.mdx +113 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backface-visibility.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-attachment.mdx +126 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-blend-mode.mdx +79 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-clip.mdx +85 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-color.mdx +176 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-image.mdx +349 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-origin.mdx +64 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-position.mdx +171 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-repeat.mdx +127 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-size.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/block-size.mdx +190 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-collapse.mdx +181 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-color.mdx +316 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-radius.mdx +347 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-spacing.mdx +117 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-style.mdx +129 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-width.mdx +344 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-decoration-break.mdx +71 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-shadow.mdx +497 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-sizing.mdx +175 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-after.mdx +38 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-before.mdx +38 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-inside.mdx +34 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caption-side.mdx +190 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caret-color.mdx +66 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/clear.mdx +224 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color-scheme.mdx +81 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color.mdx +125 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/colors.mdx +927 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/columns.mdx +310 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/compatibility.mdx +193 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/content.mdx +129 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/cursor.mdx +104 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/dark-mode.mdx +191 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/detecting-classes-in-source-files.mdx +315 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/display.mdx +523 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/editor-setup.mdx +90 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/field-sizing.mdx +75 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/fill.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-blur.mdx +114 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-brightness.mdx +102 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-contrast.mdx +102 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-drop-shadow.mdx +230 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-grayscale.mdx +101 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-hue-rotate.mdx +171 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-invert.mdx +93 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-saturate.mdx +109 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-sepia.mdx +92 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter.mdx +113 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-basis.mdx +144 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-direction.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-grow.mdx +129 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-shrink.mdx +95 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-wrap.mdx +118 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex.mdx +164 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/float.mdx +197 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-family.mdx +119 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-feature-settings.mdx +52 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-size.mdx +184 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-smoothing.mdx +67 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-stretch.mdx +138 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-style.mdx +62 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-variant-numeric.mdx +228 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-weight.mdx +105 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/forced-color-adjust.mdx +152 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/functions-and-directives.mdx +322 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/gap.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-columns.mdx +43 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-flow.mdx +58 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-rows.mdx +43 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-column.mdx +124 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-row.mdx +115 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-columns.mdx +101 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-rows.mdx +108 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/height.mdx +260 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hover-focus-and-other-states.mdx +4935 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hyphens.mdx +112 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/inline-size.mdx +191 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/isolation.mdx +30 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-content.mdx +348 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-items.mdx +286 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-self.mdx +282 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/letter-spacing.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-clamp.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-height.mdx +147 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-image.mdx +80 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-position.mdx +67 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-type.mdx +86 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/margin.mdx +397 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-clip.mdx +66 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-composite.mdx +70 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-image.mdx +933 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-mode.mdx +114 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-origin.mdx +66 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-position.mdx +117 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-repeat.mdx +169 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-size.mdx +104 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-type.mdx +98 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-block-size.mdx +153 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-height.mdx +164 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-inline-size.mdx +185 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-width.mdx +214 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-block-size.mdx +146 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-height.mdx +150 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-inline-size.mdx +153 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-width.mdx +153 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mix-blend-mode.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-fit.mdx +147 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-position.mdx +182 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/opacity.mdx +84 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/order.mdx +94 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-color.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-offset.mdx +72 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-style.mdx +134 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-width.mdx +91 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow-wrap.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow.mdx +665 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overscroll-behavior.mdx +151 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/padding.mdx +232 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective-origin.mdx +127 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective.mdx +137 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-content.mdx +257 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-items.mdx +269 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-self.mdx +257 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/pointer-events.mdx +101 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/position.mdx +399 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/preflight.mdx +291 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/resize.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/responsive-design.mdx +666 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/rotate.mdx +291 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scale.mdx +360 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-behavior.mdx +39 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-margin.mdx +268 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-padding.mdx +255 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-align.mdx +281 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-stop.mdx +198 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-type.mdx +284 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/skew.mdx +352 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke-width.mdx +74 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/styling-with-utility-classes.mdx +1020 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/table-layout.mdx +212 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-align.mdx +162 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-color.mdx +155 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-line.mdx +143 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-style.mdx +75 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-thickness.mdx +75 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-indent.mdx +74 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-overflow.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-shadow.mdx +177 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-transform.mdx +106 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-underline-offset.mdx +74 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-wrap.mdx +144 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/theme.mdx +1142 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/top-right-bottom-left.mdx +296 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/touch-action.mdx +95 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-origin.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-style.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform.mdx +51 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-behavior.mdx +76 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-delay.mdx +76 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-duration.mdx +82 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-property.mdx +137 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-timing-function.mdx +89 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/translate.mdx +487 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/upgrade-guide.mdx +910 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/user-select.mdx +114 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/vertical-align.mdx +194 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/visibility.mdx +287 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/white-space.mdx +211 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/width.mdx +264 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/will-change.mdx +47 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/word-break.mdx +94 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/z-index.mdx +104 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-catalog.md +251 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-index.tsx +237 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-source.txt +6 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/gotchas.md +18 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/scripts/sync_tailwind_docs.py +183 -0
- package/extensions/enact-repo/skills/tdd/SKILL.md +49 -0
- package/extensions/enact-repo/skills/tdd/references/mocking.md +59 -0
- package/extensions/enact-repo/skills/tdd/references/tests.md +77 -0
- package/extensions/enact-repo/skills/teach/SKILL.md +88 -0
- package/extensions/enact-repo/skills/teach/references/GLOSSARY-FORMAT.md +35 -0
- package/extensions/enact-repo/skills/teach/references/LEARNING-RECORD-FORMAT.md +46 -0
- package/extensions/enact-repo/skills/teach/references/MISSION-FORMAT.md +31 -0
- package/extensions/enact-repo/skills/teach/references/PHILOSOPHY.md +65 -0
- package/extensions/enact-repo/skills/teach/references/RESOURCES-FORMAT.md +32 -0
- package/extensions/enact-repo/skills/testing/SKILL.md +54 -0
- package/extensions/enact-repo/skills/to-spec/SKILL.md +85 -0
- package/extensions/enact-repo/skills/to-tickets/SKILL.md +75 -0
- package/extensions/enact-repo/skills/to-tickets/references/TICKET-TEMPLATES.md +39 -0
- package/extensions/enact-repo/skills/triage/SKILL.md +99 -0
- package/extensions/enact-repo/skills/triage/references/AGENT-BRIEF.md +207 -0
- package/extensions/enact-repo/skills/triage/references/NEEDS-INFO-TEMPLATE.md +17 -0
- package/extensions/enact-repo/skills/triage/references/OUT-OF-SCOPE.md +105 -0
- package/extensions/enact-repo/skills/ui-ux-pro-max/SKILL.md +32 -0
- package/extensions/enact-repo/skills/ui-ux-pro-max/references/Workflow.md +207 -0
- package/extensions/enact-repo/skills/ui-ux-pro-max/references/workflow-reference.md +175 -0
- package/extensions/enact-repo/skills/wayfinder/SKILL.md +100 -0
- package/extensions/enact-repo/skills/wayfinder/references/TEMPLATES.md +35 -0
- package/extensions/enact-repo/skills/wayfinder/references/TICKET-TYPES.md +8 -0
- package/extensions/enact-repo/skills/writing-great-skills/SKILL.md +93 -0
- package/extensions/enact-repo/skills/writing-great-skills/references/GLOSSARY.md +201 -0
- package/package.json +18 -14
- package/scripts/enact-extensions.mjs +255 -873
- package/scripts/lib/allowed-plugins.mjs +52 -0
- package/scripts/lib/run-repo-doctor.mjs +571 -0
- package/scripts/lib/run-repo-install.mjs +1579 -0
- package/scripts/lib/run-sync.mjs +1 -1
- package/scripts/lib/run-validate.mjs +23 -37
- package/scripts/lib/skill-validator.mjs +872 -0
- package/spec/enact.json +21 -3
- package/spec/enact.md +13 -12
- package/spec/kimi.json +100 -0
- package/spec/opencode.json +64 -0
- package/dist/install.d.ts +0 -235
- package/dist/install.d.ts.map +0 -1
- package/dist/install.js +0 -697
- package/dist/install.js.map +0 -1
- package/dist/internal/claude.d.ts +0 -65
- package/dist/internal/claude.d.ts.map +0 -1
- package/dist/internal/claude.js +0 -200
- package/dist/internal/claude.js.map +0 -1
- package/dist/internal/codex.d.ts +0 -43
- package/dist/internal/codex.d.ts.map +0 -1
- package/dist/internal/codex.js +0 -211
- package/dist/internal/codex.js.map +0 -1
- package/dist/internal/cursor.d.ts +0 -2
- package/dist/internal/cursor.d.ts.map +0 -1
- package/dist/internal/cursor.js +0 -6
- package/dist/internal/cursor.js.map +0 -1
- package/dist/principles.d.ts +0 -28
- package/dist/principles.d.ts.map +0 -1
- package/dist/principles.js +0 -159
- package/dist/principles.js.map +0 -1
- package/dist/provision.d.ts +0 -30
- package/dist/provision.d.ts.map +0 -1
- package/dist/provision.js +0 -202
- package/dist/provision.js.map +0 -1
- package/extensions/dev-state/.agents/plugin.json +0 -36
- package/extensions/dev-state/skills/dev-state-plan-graduation/SKILL.md +0 -194
- package/extensions/dev-state/skills/dev-state-plan-graduation/agents/openai.yaml +0 -4
- package/extensions/dev-state/skills/dev-state-plan-graduation/references/reference.md +0 -130
- package/extensions/enact-context/.agents/plugin.json +0 -41
- package/extensions/enact-context/.mcp.json +0 -8
- package/extensions/enact-context/README.md +0 -25
- package/extensions/enact-context/assets/icon.png +0 -0
- package/extensions/enact-context/assets/logo.png +0 -0
- package/extensions/enact-context/hooks/hooks.json +0 -115
- package/extensions/enact-context/skills/enact-context/SKILL.md +0 -151
- package/extensions/enact-context/skills/enact-context/scripts/install.sh +0 -69
- package/extensions/enact-core/.agents/plugin.json +0 -40
- package/extensions/enact-core/OPERATING-PRINCIPLES.md +0 -7
- package/extensions/enact-core/hooks/hooks.json +0 -26
- package/extensions/enact-evolve/.agents/plugin.json +0 -47
- package/extensions/enact-evolve/agents/evolve-session-analyst.toml +0 -37
- package/extensions/enact-evolve/assets/icon.png +0 -0
- package/extensions/enact-evolve/assets/logo.png +0 -0
- package/extensions/enact-evolve/skills/mined-investigate-loop/SKILL.md +0 -68
- package/extensions/enact-evolve/skills/session-analysis/SKILL.md +0 -98
- package/extensions/enact-evolve/skills/session-analysis/scripts/run-evolve-analysis.sh +0 -343
- package/extensions/enact-factory/.agents/plugin.json +0 -49
- package/extensions/enact-factory/.mcp.json +0 -8
- package/extensions/enact-factory/agents/architect.toml +0 -34
- package/extensions/enact-factory/agents/code-reviewer.toml +0 -33
- package/extensions/enact-factory/agents/critic.toml +0 -39
- package/extensions/enact-factory/agents/executor.toml +0 -26
- package/extensions/enact-factory/agents/explore.toml +0 -25
- package/extensions/enact-factory/agents/planner.toml +0 -26
- package/extensions/enact-factory/agents/verifier.toml +0 -33
- package/extensions/enact-factory/assets/icon.png +0 -0
- package/extensions/enact-factory/assets/logo.png +0 -0
- package/extensions/enact-factory/skills/advisor/SKILL.md +0 -82
- package/extensions/enact-factory/skills/ai-slop-cleaner/SKILL.md +0 -57
- package/extensions/enact-factory/skills/autonomous-runner/SKILL.md +0 -353
- package/extensions/enact-factory/skills/azdo-ci-strategy/SKILL.md +0 -309
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/build-failures.md +0 -60
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/cli-reference.md +0 -87
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/policies-and-pipelines.md +0 -132
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/troubleshooting.md +0 -53
- package/extensions/enact-factory/skills/cmux-leader/SKILL.md +0 -74
- package/extensions/enact-factory/skills/cmux-send/SKILL.md +0 -50
- package/extensions/enact-factory/skills/committee/SKILL.md +0 -80
- package/extensions/enact-factory/skills/deep-interview/SKILL.md +0 -68
- package/extensions/enact-factory/skills/drive-loop/SKILL.md +0 -394
- package/extensions/enact-factory/skills/drive-loop/references/contract-schema.md +0 -127
- package/extensions/enact-factory/skills/handoff/SKILL.md +0 -75
- package/extensions/enact-factory/skills/hyperplan/SKILL.md +0 -59
- package/extensions/enact-factory/skills/looplan/SKILL.md +0 -120
- package/extensions/enact-factory/skills/plan/SKILL.md +0 -103
- package/extensions/enact-factory/skills/remove-deadcode/SKILL.md +0 -46
- package/extensions/enact-factory/skills/research/SKILL.md +0 -83
- package/extensions/enact-factory/skills/review/SKILL.md +0 -67
- package/extensions/enact-factory/skills/security-research/SKILL.md +0 -57
- package/extensions/enact-factory/skills/tdd/SKILL.md +0 -62
- package/extensions/enact-factory/skills/testing-strategy/SKILL.md +0 -172
- package/extensions/enact-factory/skills/trace/SKILL.md +0 -42
- package/extensions/enact-factory/skills/ultraqa/SKILL.md +0 -85
- package/extensions/enact-factory/skills/work-with-workitem/SKILL.md +0 -56
- package/extensions/enact-factory/skills/workitem-triage/SKILL.md +0 -42
- package/extensions/enact-wiki/.agents/plugin.json +0 -43
- package/extensions/enact-wiki/.mcp.json +0 -15
- package/extensions/enact-wiki/README.md +0 -44
- package/extensions/enact-wiki/assets/icon.png +0 -0
- package/extensions/enact-wiki/assets/logo.png +0 -0
- package/extensions/enact-wiki/skills/document-parser/SKILL.md +0 -17
- package/extensions/enact-wiki/skills/document-parser/scripts/parse.sh +0 -60
- package/extensions/enact-wiki/skills/document-parser/skill.json +0 -9
- package/extensions/enact-wiki/skills/enact-wiki/SKILL.md +0 -30
- package/extensions/enact-wiki/skills/enact-wiki/references/ingest.md +0 -62
- package/extensions/enact-wiki/skills/enact-wiki/references/manage.md +0 -34
- package/extensions/enact-wiki/skills/enact-wiki/references/query.md +0 -59
- package/extensions/enact-wiki/skills/search-lab/SKILL.md +0 -57
- package/extensions/enact-wiki/skills/search-lab/scripts/analyze.ts +0 -23
- package/extensions/enact-wiki/skills/wiki/SKILL.md +0 -42
- package/extensions/net-revenue-management/.agents/plugin.json +0 -40
- package/extensions/net-revenue-management/.mcp.json +0 -9
- package/extensions/net-revenue-management/skills/net-revenue-risks/SKILL.md +0 -30
- package/extensions/net-revenue-management/skills/net-revenue-scenario/SKILL.md +0 -31
- package/extensions/plugin-dev/.agents/plugin.json +0 -41
- package/extensions/plugin-dev/agents/agent-creator.md +0 -199
- package/extensions/plugin-dev/agents/plugin-validator.md +0 -91
- package/extensions/plugin-dev/agents/skill-reviewer.md +0 -212
- package/extensions/plugin-dev/skills/agent-development/SKILL.md +0 -641
- package/extensions/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md +0 -250
- package/extensions/plugin-dev/skills/agent-development/examples/complete-agent-examples.md +0 -461
- package/extensions/plugin-dev/skills/agent-development/references/advanced-agent-fields.md +0 -246
- package/extensions/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md +0 -216
- package/extensions/plugin-dev/skills/agent-development/references/permission-modes-rules.md +0 -226
- package/extensions/plugin-dev/skills/agent-development/references/system-prompt-design.md +0 -464
- package/extensions/plugin-dev/skills/agent-development/references/triggering-examples.md +0 -474
- package/extensions/plugin-dev/skills/agent-development/scripts/create-agent-skeleton.sh +0 -176
- package/extensions/plugin-dev/skills/agent-development/scripts/test-agent-trigger.sh +0 -227
- package/extensions/plugin-dev/skills/agent-development/scripts/validate-agent.sh +0 -227
- package/extensions/plugin-dev/skills/create-plugin/SKILL.md +0 -505
- package/extensions/plugin-dev/skills/hook-development/SKILL.md +0 -861
- package/extensions/plugin-dev/skills/hook-development/examples/load-context.sh +0 -55
- package/extensions/plugin-dev/skills/hook-development/examples/validate-bash.sh +0 -57
- package/extensions/plugin-dev/skills/hook-development/examples/validate-write.sh +0 -48
- package/extensions/plugin-dev/skills/hook-development/references/advanced.md +0 -871
- package/extensions/plugin-dev/skills/hook-development/references/hook-input-schemas.md +0 -145
- package/extensions/plugin-dev/skills/hook-development/references/migration.md +0 -392
- package/extensions/plugin-dev/skills/hook-development/references/patterns.md +0 -430
- package/extensions/plugin-dev/skills/hook-development/scripts/README.md +0 -181
- package/extensions/plugin-dev/skills/hook-development/scripts/hook-linter.sh +0 -153
- package/extensions/plugin-dev/skills/hook-development/scripts/test-hook.sh +0 -276
- package/extensions/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh +0 -159
- package/extensions/plugin-dev/skills/mcp-integration/SKILL.md +0 -775
- package/extensions/plugin-dev/skills/mcp-integration/examples/http-server.json +0 -20
- package/extensions/plugin-dev/skills/mcp-integration/examples/sse-server.json +0 -19
- package/extensions/plugin-dev/skills/mcp-integration/examples/stdio-server.json +0 -38
- package/extensions/plugin-dev/skills/mcp-integration/examples/ws-server.json +0 -26
- package/extensions/plugin-dev/skills/mcp-integration/references/authentication.md +0 -601
- package/extensions/plugin-dev/skills/mcp-integration/references/server-discovery.md +0 -190
- package/extensions/plugin-dev/skills/mcp-integration/references/server-types.md +0 -572
- package/extensions/plugin-dev/skills/mcp-integration/references/tool-usage.md +0 -623
- package/extensions/plugin-dev/skills/plugin-dev-guide/SKILL.md +0 -221
- package/extensions/plugin-dev/skills/plugin-structure/SKILL.md +0 -705
- package/extensions/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md +0 -774
- package/extensions/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md +0 -83
- package/extensions/plugin-dev/skills/plugin-structure/examples/standard-plugin.md +0 -611
- package/extensions/plugin-dev/skills/plugin-structure/references/advanced-topics.md +0 -289
- package/extensions/plugin-dev/skills/plugin-structure/references/component-patterns.md +0 -592
- package/extensions/plugin-dev/skills/plugin-structure/references/github-actions.md +0 -233
- package/extensions/plugin-dev/skills/plugin-structure/references/headless-ci-mode.md +0 -193
- package/extensions/plugin-dev/skills/plugin-structure/references/manifest-reference.md +0 -625
- package/extensions/plugin-dev/skills/plugin-structure/references/output-styles.md +0 -116
- package/extensions/plugin-dev/skills/skill-development/SKILL.md +0 -562
- package/extensions/plugin-dev/skills/skill-development/examples/complete-skill.md +0 -465
- package/extensions/plugin-dev/skills/skill-development/examples/frontmatter-templates.md +0 -167
- package/extensions/plugin-dev/skills/skill-development/examples/minimal-skill.md +0 -111
- package/extensions/plugin-dev/skills/skill-development/references/advanced-frontmatter.md +0 -225
- package/extensions/plugin-dev/skills/skill-development/references/commands-vs-skills.md +0 -39
- package/extensions/plugin-dev/skills/skill-development/references/skill-creation-workflow.md +0 -379
- package/extensions/plugin-dev/skills/skill-development/references/skill-creator-original.md +0 -210
- package/extensions/plugin-dev/skills/start/SKILL.md +0 -82
- package/scripts/check-hooks.mjs +0 -174
- package/scripts/check-principles.mjs +0 -116
- package/scripts/hooks/session-start-drift-check.mjs +0 -48
- package/scripts/install.sh +0 -70
- package/scripts/lib/auto-update.mjs +0 -75
- package/scripts/lib/bundle-hash.mjs +0 -137
- package/scripts/lib/hooks.mjs +0 -585
- package/scripts/lib/ledger.mjs +0 -163
- package/scripts/lib/migrate-artifacts.mjs +0 -144
- package/scripts/lib/outdated.mjs +0 -144
- package/scripts/lib/postinstall-offer.mjs +0 -83
- package/scripts/lib/principles.mjs +0 -109
- package/scripts/lib/provision-mcp.mjs +0 -16
- package/scripts/lib/resolve-plugin-root.mjs +0 -9
- package/scripts/lib/run-install.mjs +0 -500
- package/scripts/lib/run-prune.mjs +0 -94
- package/scripts/lib/run-uninstall.mjs +0 -244
- package/scripts/lib/run-update.mjs +0 -152
- package/scripts/lib/serve.mjs +0 -472
- package/scripts/lib/ups-router.mjs +0 -392
- package/scripts/postinstall.mjs +0 -101
- package/scripts/setup-enact-context.sh +0 -28
- package/scripts/version-bump.sh +0 -484
- package/web/assets/README.md +0 -111
- package/web/assets/logo-full.png +0 -0
- package/web/assets/logo-slim.png +0 -0
- package/web/assets/tokens/base.css +0 -45
- package/web/assets/tokens/colors.css +0 -248
- package/web/assets/tokens/effects.css +0 -24
- package/web/assets/tokens/fonts.css +0 -8
- package/web/assets/tokens/index.css +0 -18
- package/web/assets/tokens/spacing.css +0 -50
- package/web/index.html +0 -1188
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
# Contract Schema Reference
|
|
2
|
-
|
|
3
|
-
Full schema for the JSON object passed to `loop_start`. This is a progressive
|
|
4
|
-
disclosure supplement to `SKILL.md`.
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Contract (root)
|
|
9
|
-
|
|
10
|
-
| Field | Type | Required | Description |
|
|
11
|
-
|-------|------|----------|-------------|
|
|
12
|
-
| `id` | string (uuid) | yes | Stable unique identifier. Use the WorkItem id or a derived uuid. |
|
|
13
|
-
| `name` | string | yes | Human-readable name shown in loop progress output. |
|
|
14
|
-
| `stages` | Stage[] | yes | Ordered list of stages. Mechanical stages run first; judgment stages may interleave. |
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## Stage
|
|
19
|
-
|
|
20
|
-
| Field | Type | Required when | Description |
|
|
21
|
-
|-------|------|---------------|-------------|
|
|
22
|
-
| `id` | string | always | Stable slug. Referenced by `loop_grade` and `loop_grader_verdict`. |
|
|
23
|
-
| `name` | string | always | Human-readable label. |
|
|
24
|
-
| `type` | `"mechanical" \| "judgment"` | always | Determines which fields are used and how pass is determined. |
|
|
25
|
-
| `required` | boolean | always | `true` → must pass before closure. `false` → informational only. |
|
|
26
|
-
| `requires` | string[] | optional | Stage ids that must pass before this stage may run. |
|
|
27
|
-
| `command` | string | mechanical | Shell command run by the engine via `loop_grade` in loop root cwd. Exit 0 = pass. |
|
|
28
|
-
| `grader` | GraderSpec | judgment | Specification for the independent grader subagent. |
|
|
29
|
-
| `passCriteria` | string | optional | Plain-text description of what constitutes a pass. Included in grader prompts. |
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## GraderSpec
|
|
34
|
-
|
|
35
|
-
| Field | Type | Required | Description |
|
|
36
|
-
|-------|------|----------|-------------|
|
|
37
|
-
| `role` | `"architect" \| "critic" \| "code-reviewer" \| "verifier"` | yes | Determines the subagent type spawned. |
|
|
38
|
-
| `model` | string | recommended | Model ID for the grader. **Must differ from the executor model.** Cross-vendor preferred. Omit only if the harness selects automatically. |
|
|
39
|
-
| `harness` | `"paseo" \| "subagent"` | optional | How to dispatch. Default: `subagent`. Use `paseo` when the grader needs multi-step tool access. |
|
|
40
|
-
| `dispatchTool` | string | optional | Factory tool the driver uses to run a Paseo grader and capture a structured verdict — `"factory_paseo_grader_run"` (runs `paseo run --provider <graderModel> --mode auto-review --output-schema --json`, returns `{verdict, evidence}` + `graderModelActual`). On the codex provider `--mode auto-review` routes on-request approvals through the auto-reviewer subagent so the grader doesn't BLOCK (read-only stays enforced by prompt). Replaces `paseo logs` scraping. |
|
|
41
|
-
| `rounds` | integer | optional | Number of independent grading rounds before aggregating. Default: `1`. |
|
|
42
|
-
| `timeoutMs` | integer | optional | Grader session timeout in ms (default 30 min). Timeout → `grader-unavailable` blocker. |
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Validation Rules
|
|
47
|
-
|
|
48
|
-
1. Every `type: judgment` stage **must** have `grader` with `role` set.
|
|
49
|
-
2. Every `type: mechanical` stage **must** have `command` set.
|
|
50
|
-
3. `grader.model` must differ from the executor's model — enforced at
|
|
51
|
-
`loop_grader_dispatch` time.
|
|
52
|
-
4. At least one stage must be `required: true`, or the contract is trivially
|
|
53
|
-
closed and should not be submitted to the loop.
|
|
54
|
-
5. Stage `id` values must be unique within the contract.
|
|
55
|
-
6. `requires` references must point to existing stage ids; cycles are rejected.
|
|
56
|
-
7. **(Hard requirement #9 — tests stage Linux parity)** The `tests` stage
|
|
57
|
-
`command` **must** invoke a Linux-parity / containerized runner (e.g.
|
|
58
|
-
`bash scripts/ci-local.sh`) — not a bare host `npm test`. A host suite can
|
|
59
|
-
pass green while the same deliverable fails the CI Linux agent due to
|
|
60
|
-
`HOME`/path divergence.
|
|
61
|
-
8. **(Rule #7 — typecheck:tests)** When the project has a separate test-file
|
|
62
|
-
typecheck script (`typecheck:tests`), it **must** be included — either as its
|
|
63
|
-
own mechanical stage or folded into the typecheck stage command (e.g.
|
|
64
|
-
`npm run typecheck && npm run typecheck:tests`). Omitting it allows test-file
|
|
65
|
-
type regressions to slip past undetected.
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
## Closure Definition
|
|
70
|
-
|
|
71
|
-
A contract reaches **closure** when:
|
|
72
|
-
|
|
73
|
-
- Every stage where `required: true` has status `PASSED`.
|
|
74
|
-
- `PASSED` means:
|
|
75
|
-
- `mechanical`: `loop_grade({ stageId })` ran the command and exit code was 0.
|
|
76
|
-
- `judgment`: `loop_grader_verdict` recorded `verdict: "GO"` with a valid
|
|
77
|
-
dispatch-minted `continuationId` (`captureSource`: `relayed` or `direct`).
|
|
78
|
-
- Executor/driver authored a current closure summary via `enact-loop summary write`.
|
|
79
|
-
- `loop_complete` called from phase `verifying`.
|
|
80
|
-
|
|
81
|
-
Worktree fingerprint drift invalidates stale `passed` verdicts. `loop_retarget`
|
|
82
|
-
preserves verdicts only when `id + type + worktreeFingerprint` match.
|
|
83
|
-
|
|
84
|
-
Optional stages (`required: false`) do not block closure but their results
|
|
85
|
-
are included in the closure record returned to factory.
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## MCP Tool Reference
|
|
90
|
-
|
|
91
|
-
| Tool | When to call | Key params |
|
|
92
|
-
|------|-------------|------------|
|
|
93
|
-
| `loop_start` | Once, at the start of the delivery | `{ contract: <Contract JSON> }` |
|
|
94
|
-
| `loop_grade` | For each mechanical stage | `{ stageId, timeoutMs? }` — engine runs command; rejects `status`/`evidence` |
|
|
95
|
-
| `loop_grader_dispatch` | Before spawning the grader subagent | `{ stageId }` → `continuationId` |
|
|
96
|
-
| `loop_grader_verdict` | After grader returns verdict envelope | `{ stageId, continuationId, verdict, evidence, graderAgentId, graderSessionId, captureSource? }` |
|
|
97
|
-
|
|
98
|
-
Factory-side tool (after loop closure):
|
|
99
|
-
|
|
100
|
-
| Tool | When to call | Key params |
|
|
101
|
-
|------|-------------|------------|
|
|
102
|
-
| `pushLoopClosure` | Once, after loop signals closure | `{ closureRecord }` |
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Example: Minimal Contract (single mechanical stage)
|
|
107
|
-
|
|
108
|
-
```json
|
|
109
|
-
{
|
|
110
|
-
"id": "wi-9999-minimal",
|
|
111
|
-
"name": "Minimal: lint only",
|
|
112
|
-
"stages": [
|
|
113
|
-
{
|
|
114
|
-
"id": "lint",
|
|
115
|
-
"name": "Lint passes",
|
|
116
|
-
"type": "mechanical",
|
|
117
|
-
"required": true,
|
|
118
|
-
"command": "cargo clippy --workspace -- -D warnings"
|
|
119
|
-
}
|
|
120
|
-
]
|
|
121
|
-
}
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
## Example: Full Contract (mixed mechanical + judgment)
|
|
125
|
-
|
|
126
|
-
See `SKILL.md` worked example (WI-2041 Bug Delivery) for a four-stage
|
|
127
|
-
mixed contract with two mechanical and two judgment stages.
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: handoff
|
|
3
|
-
description: >-
|
|
4
|
-
Delegate a WorkItem to a detached agent with a self-contained briefing, and
|
|
5
|
-
record the assignment on the factory board. Use when asked to "hand off",
|
|
6
|
-
"delegate this work-item", "assign to an agent", "spin up a detached agent for
|
|
7
|
-
this item", or when the driver wants to fan out an independent item rather than
|
|
8
|
-
drive it inline. The factory tracks the handoff via factory_assignment_record.
|
|
9
|
-
metadata:
|
|
10
|
-
author: Amsterdam Data Labs
|
|
11
|
-
version: 1.0.0
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# handoff
|
|
15
|
-
|
|
16
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
17
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
18
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>`.
|
|
19
|
-
> 3. Factory planning artifacts go under `~/.enact/factory/projects/<key>/…`; loop runtime state and closure summaries go under `~/.enact/loop/projects/<key>/…`.
|
|
20
|
-
|
|
21
|
-
Package a WorkItem into a briefing complete enough that a fresh detached agent
|
|
22
|
-
can deliver it without the driver's context, launch that agent, and **record the
|
|
23
|
-
assignment on the board**. The board-tracking (`factory_assignment_record`) is
|
|
24
|
-
the factory value-add the generic delegate pattern lacks.
|
|
25
|
-
|
|
26
|
-
## Boundaries (hard)
|
|
27
|
-
|
|
28
|
-
- **The briefing must be self-contained.** The detached agent does not share
|
|
29
|
-
your context — everything it needs goes in the brief. A handoff that assumes
|
|
30
|
-
the receiver "knows what we discussed" is a defect.
|
|
31
|
-
- **Record every handoff.** Call `factory_assignment_record` so the board
|
|
32
|
-
reflects the assignment. An untracked detached agent is invisible work — fail
|
|
33
|
-
loud rather than launch without recording.
|
|
34
|
-
- **Scope unchanged.** Handoff delegates the item as-is; it does not toggle
|
|
35
|
-
repos, change scope, or split the item. Out-of-scope discoveries → new
|
|
36
|
-
WorkItem (the receiver follows the same rule).
|
|
37
|
-
- **The receiver still drives the loop** (its own contract + cross-vendor
|
|
38
|
-
grader). Handoff delegates the work, not the gates. When the receiver
|
|
39
|
-
dispatches a grader via Paseo on the codex provider, it passes
|
|
40
|
-
`--mode auto-review` so the grader's on-request approvals don't block (the
|
|
41
|
-
grader stays read-only by prompt); see `drive-loop`.
|
|
42
|
-
|
|
43
|
-
## Sequence
|
|
44
|
-
|
|
45
|
-
1. `factory_workitem_get` → build the self-contained briefing:
|
|
46
|
-
- goal + acceptance criteria + closure requirements
|
|
47
|
-
- lifecycle state + next required boolean
|
|
48
|
-
- blockers / dependencies (must be satisfied before handoff)
|
|
49
|
-
- branch base (`integration`) + worktree, relevant files/paths
|
|
50
|
-
- the loop contract to run (or instruction to build one via `drive-loop`)
|
|
51
|
-
- latest timestamped plan / verification / requirements artifact paths when present
|
|
52
|
-
- current loop closure summary path (`summary-current.json` / `enact-loop summary show`) when resuming an active loop
|
|
53
|
-
2. `EnterWorktree` to isolate the receiver's workspace.
|
|
54
|
-
3. Launch the receiver as a **detached agent** carrying the briefing (a detached
|
|
55
|
-
subagent, or via the factory's Paseo dispatch) with `notifyOnFinish`; do not
|
|
56
|
-
poll it.
|
|
57
|
-
4. **`factory_assignment_record({ workItemId, repoRoot, host, operatorLane,
|
|
58
|
-
dispatcher, paseoAgentId, paseoWorktree, status: 'active' })`** — register the
|
|
59
|
-
assignment so the board tracks it. (To update its state later — e.g.
|
|
60
|
-
`paseoStatus`, `status: 'completed'` — call `factory_assignment_record` again
|
|
61
|
-
with the returned `assignmentId`.)
|
|
62
|
-
|
|
63
|
-
## Output
|
|
64
|
-
|
|
65
|
-
`{ workItemId, assignmentId, branch, worktree, recorded: true }`. If
|
|
66
|
-
`factory_assignment_record` fails, treat the handoff as failed — surface it and
|
|
67
|
-
do not leave an unrecorded detached agent running.
|
|
68
|
-
|
|
69
|
-
## Related
|
|
70
|
-
|
|
71
|
-
- [`work-with-workitem`](../work-with-workitem/SKILL.md) — the delivery lane the
|
|
72
|
-
receiver runs.
|
|
73
|
-
- [`drive-loop`](../drive-loop/SKILL.md) — the contract the receiver drives.
|
|
74
|
-
- [`autonomous-runner`](../autonomous-runner/SKILL.md) — the driver that may hand
|
|
75
|
-
off independent items instead of driving them inline.
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: hyperplan
|
|
3
|
-
description: "Three-round adversarial planning debate that hands a distilled bundle to $plan instead of writing the final plan directly."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Hyperplan
|
|
7
|
-
|
|
8
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
9
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
10
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>` (e.g. `enact-evolve-a38d1e`).
|
|
11
|
-
> 3. Loop artifacts go under `~/.enact/factory/projects/<key>/…`.
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
Use `$hyperplan` when a plan needs adversarial pressure before execution starts.
|
|
16
|
-
|
|
17
|
-
## Debate Team
|
|
18
|
-
|
|
19
|
-
Use exactly this 4-agent team:
|
|
20
|
-
|
|
21
|
-
- `critic`
|
|
22
|
-
- `critic`
|
|
23
|
-
- `architect`
|
|
24
|
-
- `explore`
|
|
25
|
-
|
|
26
|
-
The original openagent placeholder names are not used here.
|
|
27
|
-
|
|
28
|
-
## Rounds
|
|
29
|
-
|
|
30
|
-
Run exactly 3 rounds:
|
|
31
|
-
|
|
32
|
-
1. independent analysis
|
|
33
|
-
2. cross-attack
|
|
34
|
-
3. defend, refine, or concede
|
|
35
|
-
|
|
36
|
-
Persist each round under:
|
|
37
|
-
|
|
38
|
-
- `~/.enact/factory/projects/<key>/hyperplan/<sessionId>/<YYMMDDHH>-round-1.md`
|
|
39
|
-
- `~/.enact/factory/projects/<key>/hyperplan/<sessionId>/<YYMMDDHH>-round-2.md`
|
|
40
|
-
- `~/.enact/factory/projects/<key>/hyperplan/<sessionId>/<YYMMDDHH>-round-3.md`
|
|
41
|
-
|
|
42
|
-
Resolve `<key>` from `~/.enact/workspaces.json`; get the timestamp prefix via `date +%y%m%d%H`. **Append-only:** each debate run writes fresh round files; never overwrite prior `YYMMDDHH-round-*.md` artifacts.
|
|
43
|
-
|
|
44
|
-
## Handoff Rule
|
|
45
|
-
|
|
46
|
-
The lead agent does not write the final implementation plan directly.
|
|
47
|
-
After round 3, hand the distilled debate bundle to a separate `$plan` invocation.
|
|
48
|
-
`$plan` must read the latest `hyperplan/<sessionId>/<YYMMDDHH>-round-*.md` files before writing new timestamped plan artifacts.
|
|
49
|
-
|
|
50
|
-
## Execution Notes
|
|
51
|
-
|
|
52
|
-
- use `explore` to gather the evidence bundle before critique
|
|
53
|
-
- use the two `critic` agents to take opposing positions in the cross-attack round
|
|
54
|
-
- use `architect` to synthesize the final structured verdict and tradeoffs
|
|
55
|
-
- do not skip a round because the first opinion looked sufficient
|
|
56
|
-
|
|
57
|
-
## Activation
|
|
58
|
-
|
|
59
|
-
Invoke with `$hyperplan` or `$enact-loop:hyperplan`. The skill is stateless — it produces a debate bundle and hands off to `$plan`. No durable workflow state is started automatically.
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: looplan
|
|
3
|
-
description: "Plan-first loop execution wrapper: write a durable plan, enter the loop, drive to verified closure. Use when the work needs a reviewable plan before the loop starts."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Looplan
|
|
7
|
-
|
|
8
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
9
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
10
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>` (e.g. `enact-evolve-a38d1e`).
|
|
11
|
-
> 3. Factory planning artifacts go under `~/.enact/factory/projects/<key>/…`; loop runtime state under `~/.enact/loop/projects/<key>/…`.
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
Use `$looplan` when the work needs a reviewable execution plan before the loop starts. Looplan gates
|
|
16
|
-
execution behind a plan the user or reviewer can inspect, then advances into the `$loop` contract
|
|
17
|
-
runner with explicit stage verification.
|
|
18
|
-
|
|
19
|
-
Looplan is the combination of `$plan` (write artifacts, define slices and verification) and `$loop`
|
|
20
|
-
(durable contract-runner with closure gates). Neither sub-skill is optional.
|
|
21
|
-
|
|
22
|
-
## Use When
|
|
23
|
-
|
|
24
|
-
- the request is clear enough to plan but carries meaningful risk or complexity
|
|
25
|
-
- a written plan artifact needs to exist before any code changes
|
|
26
|
-
- verification stages need to be defined up front, not discovered mid-execution
|
|
27
|
-
- the user wants to review the plan before execution begins
|
|
28
|
-
|
|
29
|
-
## Do Not Use When
|
|
30
|
-
|
|
31
|
-
- the request is still ambiguous — route through `$deep-interview` first, then return here
|
|
32
|
-
- the work is trivial and a plan would add no value
|
|
33
|
-
|
|
34
|
-
## Lifecycle
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
intent → $plan (write plan + verification map) → user review → $loop start → running → verifying → completed
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
Each transition is explicit. Never advance to the loop before the plan artifact exists and is reviewed.
|
|
41
|
-
|
|
42
|
-
## Timestamped Artifact Naming
|
|
43
|
-
|
|
44
|
-
All durable factory markdown artifacts use `YYMMDDHH-<slug>.md` where `YYMMDDHH=$(date +%y%m%d%H)`.
|
|
45
|
-
Use the **same** prefix for the plan and verification map written in one planning pass.
|
|
46
|
-
**Never overwrite** a prior plan file — each looplan run writes fresh timestamped artifacts.
|
|
47
|
-
|
|
48
|
-
## Workflow
|
|
49
|
-
|
|
50
|
-
### Phase 1 — Plan
|
|
51
|
-
|
|
52
|
-
1. Read current artifacts and inspect the repo for brownfield context (latest timestamped files per `$plan` resolution rules).
|
|
53
|
-
2. Write the plan to `~/.enact/factory/projects/<key>/plans/<YYMMDDHH>-<phase>.md` following `$plan` conventions:
|
|
54
|
-
- Named files per slice
|
|
55
|
-
- Explicit verification per slice
|
|
56
|
-
- Exit conditions stated
|
|
57
|
-
3. Write the verification map to `~/.enact/factory/projects/<key>/plans/<YYMMDDHH>-<phase>-verification.md`.
|
|
58
|
-
4. Present the plan for review. Do not advance until it is approved.
|
|
59
|
-
|
|
60
|
-
### Phase 2 — Execute
|
|
61
|
-
|
|
62
|
-
5. Start the loop with the goal and stages from the plan:
|
|
63
|
-
```
|
|
64
|
-
loop_start goal="<goal>" contract=<stages from plan>
|
|
65
|
-
```
|
|
66
|
-
6. Confirm the loop is running: `loop_status`
|
|
67
|
-
7. Execute each plan slice.
|
|
68
|
-
- Mechanical stages: `loop_grade({ stageId })` — the engine runs the stage `command` in the
|
|
69
|
-
loop root and records pass/fail from exit code. Do **not** run the command separately and
|
|
70
|
-
self-report `status` or `evidence` (rejected by the runtime).
|
|
71
|
-
- Judgment stages: `loop_grader_dispatch({ stageId })` → independent grader reviews → driver
|
|
72
|
-
relays GO/NO-GO via `loop_grader_verdict` with the minted `continuationId` (default:
|
|
73
|
-
`captureSource: "relayed"`). Grader child sessions have **no closure authority**.
|
|
74
|
-
8. If blocked: `loop_block` with reason, resolve, then `loop_advance` back to `running`.
|
|
75
|
-
|
|
76
|
-
### Phase 3 — Verify and Complete
|
|
77
|
-
|
|
78
|
-
9. When all stages have evidence, advance to verifying:
|
|
79
|
-
```
|
|
80
|
-
loop_advance toPhase=verifying
|
|
81
|
-
```
|
|
82
|
-
10. Run `$review` against the completed work and plan artifacts.
|
|
83
|
-
11. Write the closure summary via `enact-loop summary write` (CLI stamps fingerprint header into a new `YYMMDDHH-loop-summary.md`), then complete the loop:
|
|
84
|
-
```
|
|
85
|
-
loop_complete summary="<one-line summary>"
|
|
86
|
-
```
|
|
87
|
-
12. If review returns changes requested, advance back to running and address findings.
|
|
88
|
-
|
|
89
|
-
## State Contract
|
|
90
|
-
|
|
91
|
-
Reads:
|
|
92
|
-
- `~/.enact/factory/projects/<key>/plans/*` (latest timestamped plan + verification map from Phase 1)
|
|
93
|
-
- `~/.enact/loop/projects/<key>/state/loop.json` (loop state)
|
|
94
|
-
- `~/.enact/loop/projects/<key>/state/summary-current.json` (pointer to current closure summary)
|
|
95
|
-
|
|
96
|
-
Writes:
|
|
97
|
-
- `~/.enact/factory/projects/<key>/plans/<YYMMDDHH>-<phase>.md`
|
|
98
|
-
- `~/.enact/factory/projects/<key>/plans/<YYMMDDHH>-<phase>-verification.md`
|
|
99
|
-
- Loop state and closure summary via MCP/CLI only (never raw file edits)
|
|
100
|
-
|
|
101
|
-
## MCP Tools
|
|
102
|
-
|
|
103
|
-
- `loop_start` — start a new loop with goal and stages
|
|
104
|
-
- `loop_status` — read current loop state
|
|
105
|
-
- `loop_advance` — transition to a new phase
|
|
106
|
-
- `loop_grade` — run a mechanical stage `command` (`stageId` + optional `timeoutMs`); engine-derived pass/fail only
|
|
107
|
-
- `loop_grader_dispatch` — mint `continuationId` and dispatch an independent grader for a judgment stage
|
|
108
|
-
- `loop_grader_verdict` — record GO/NO-GO (driver-relayed default; direct only from registered grader child with valid `continuationId`)
|
|
109
|
-
- `loop_block` — mark blocked with a reason
|
|
110
|
-
- `loop_complete` — close the loop with a summary
|
|
111
|
-
- `loop_abort` — abort with a reason
|
|
112
|
-
|
|
113
|
-
## Final Check
|
|
114
|
-
|
|
115
|
-
- Plan artifact exists at `~/.enact/factory/projects/<key>/plans/<YYMMDDHH>-<phase>.md` before loop was started
|
|
116
|
-
- Mechanical stages passed via engine-run `loop_grade` (command exit code), not caller-supplied status
|
|
117
|
-
- Judgment stages have valid independent grader verdicts (minted `continuationId`, driver-relayed or direct with provenance)
|
|
118
|
-
- `$review` verdict is approved
|
|
119
|
-
- `enact-loop summary write` produced a current timestamped closure summary before `loop_complete`
|
|
120
|
-
- `loop_status` shows phase as `completed`
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: plan
|
|
3
|
-
description: "Execution-plan mode that turns intent into small, verifiable slices backed by durable global loop artifacts."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Plan
|
|
7
|
-
|
|
8
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
9
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
10
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>` (e.g. `enact-evolve-a38d1e`).
|
|
11
|
-
> 3. Factory planning artifacts go under `~/.enact/factory/projects/<key>/…`.
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
Use `$plan` to create execution-ready slices. The output is not a strategy memo. It is the
|
|
16
|
-
prompt-quality plan that downstream execution can follow without improvising core behavior.
|
|
17
|
-
|
|
18
|
-
## Use When
|
|
19
|
-
|
|
20
|
-
- the work is bigger than a one-shot edit
|
|
21
|
-
- the request is clear enough to plan but not yet safe to execute
|
|
22
|
-
- verification, dependencies, or sequencing need to be locked in
|
|
23
|
-
|
|
24
|
-
## Do Not Use When
|
|
25
|
-
|
|
26
|
-
- the task is still ambiguous enough for `$deep-interview`
|
|
27
|
-
- the change is a trivial single-file fix
|
|
28
|
-
- the user explicitly wants direct execution and the risk is low
|
|
29
|
-
|
|
30
|
-
## Execution Policy
|
|
31
|
-
|
|
32
|
-
- gather repo facts before asking about internals
|
|
33
|
-
- plans are prompts for execution, not prose for humans only
|
|
34
|
-
- every slice must fit in one focused context window
|
|
35
|
-
- every slice must have explicit verification
|
|
36
|
-
- prefer a small number of high-quality slices over a long TODO dump
|
|
37
|
-
- **never overwrite an existing plan artifact in place** — each planning pass writes a new timestamped file
|
|
38
|
-
|
|
39
|
-
## Timestamped Artifact Naming
|
|
40
|
-
|
|
41
|
-
All durable factory markdown artifacts use `YYMMDDHH-<slug>.md` where `YYMMDDHH=$(date +%y%m%d%H)` (8 digits, hour granularity).
|
|
42
|
-
|
|
43
|
-
Examples:
|
|
44
|
-
- `plans/26062203-foundations-hardening.md`
|
|
45
|
-
- `plans/26062203-foundations-hardening-verification.md`
|
|
46
|
-
- `plans/26062203-foundations-hardening-requirements.md`
|
|
47
|
-
- `plans/26062203-foundations-brownfield-map.md`
|
|
48
|
-
- `research/26062203-auth-token-research.md`
|
|
49
|
-
|
|
50
|
-
Use the **same** `YYMMDDHH` prefix for a plan and its verification map written in the same pass.
|
|
51
|
-
|
|
52
|
-
## Active Artifact Resolution
|
|
53
|
-
|
|
54
|
-
When reading (not writing), resolve the latest matching artifact:
|
|
55
|
-
|
|
56
|
-
1. Prefer the path recorded in the current session/run if one was emitted.
|
|
57
|
-
2. Else pick the lexicographically greatest `YYMMDDHH` among files matching the semantic suffix:
|
|
58
|
-
- requirements: `*-requirements.md`
|
|
59
|
-
- plan: `*-{phase}.md` (exclude `-verification` and `-requirements`)
|
|
60
|
-
- verification: `*-{phase}-verification.md`
|
|
61
|
-
- brownfield: `*-brownfield-map.md`
|
|
62
|
-
3. If no timestamped file exists, fall back to legacy unprefixed names only for migration reads — never write new unprefixed files.
|
|
63
|
-
|
|
64
|
-
## Plan Anatomy
|
|
65
|
-
|
|
66
|
-
Each slice should answer:
|
|
67
|
-
|
|
68
|
-
- what files are likely to change
|
|
69
|
-
- what the slice must do
|
|
70
|
-
- how to verify it
|
|
71
|
-
- what counts as done
|
|
72
|
-
- what it depends on
|
|
73
|
-
|
|
74
|
-
## Workflow
|
|
75
|
-
|
|
76
|
-
1. Read current intent artifacts (latest by rules above):
|
|
77
|
-
- `~/.enact/factory/projects/<key>/plans/*-requirements.md`
|
|
78
|
-
- `~/.enact/factory/projects/<key>/plans/*-brownfield-map.md`
|
|
79
|
-
- any `hyperplan/<sessionId>/` debate bundle from `$hyperplan` when present
|
|
80
|
-
2. Derive the must-haves from the goal backward:
|
|
81
|
-
- what must be true when this is done?
|
|
82
|
-
- what artifacts and connections are required for those truths?
|
|
83
|
-
3. Split the work into waves and slices:
|
|
84
|
-
- interface or contracts first
|
|
85
|
-
- implementation second
|
|
86
|
-
- verification and wiring last
|
|
87
|
-
4. Write **new** timestamped artifacts (do not edit prior plan files):
|
|
88
|
-
- active phase plan
|
|
89
|
-
- verification map
|
|
90
|
-
- loop contract stages (mechanical vs. judgment per slice)
|
|
91
|
-
|
|
92
|
-
## Quality Bar
|
|
93
|
-
|
|
94
|
-
- no vague acceptance criteria
|
|
95
|
-
- no "make it work" tasks
|
|
96
|
-
- no giant slice that hides three subsystems
|
|
97
|
-
- no verify step that depends on hope
|
|
98
|
-
|
|
99
|
-
## Deliverables
|
|
100
|
-
|
|
101
|
-
- `~/.enact/factory/projects/<key>/plans/<YYMMDDHH>-<phase>.md`
|
|
102
|
-
- `~/.enact/factory/projects/<key>/plans/<YYMMDDHH>-<phase>-verification.md`
|
|
103
|
-
- write **new** `~/.enact/factory/projects/<key>/plans/<YYMMDDHH>-<topic>-brownfield-map.md` when the brownfield map changes (append-only; never edit a prior brownfield file in place)
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: remove-deadcode
|
|
3
|
-
description: "LSP-verified symbol deletion with entry-point guards and candidate-parallel execution."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Remove Deadcode
|
|
7
|
-
|
|
8
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
9
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
10
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>` (e.g. `enact-evolve-a38d1e`).
|
|
11
|
-
> 3. Loop artifacts go under `~/.enact/factory/projects/<key>/…`.
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
Use `$remove-deadcode` to remove provably unused code symbols without damaging runtime entry points.
|
|
16
|
-
|
|
17
|
-
## Preconditions
|
|
18
|
-
|
|
19
|
-
- collect candidate symbols before any deletion
|
|
20
|
-
- load optional entry-point guard list from `~/.enact/factory/projects/<key>/remove-deadcode/entry-points.txt`
|
|
21
|
-
|
|
22
|
-
## Required Safety Contract
|
|
23
|
-
|
|
24
|
-
For each candidate symbol, the deletion gate is strict:
|
|
25
|
-
|
|
26
|
-
1. If symbol is listed in the entry-point guard file, skip deletion unconditionally.
|
|
27
|
-
2. Otherwise call `lsp_find_references` (via enact-context).
|
|
28
|
-
3. If references are non-empty, abort deletion for that symbol and emit an explanatory message.
|
|
29
|
-
4. Only delete when references are exactly zero and the symbol is not guarded.
|
|
30
|
-
|
|
31
|
-
## Execution Model
|
|
32
|
-
|
|
33
|
-
- batching is explicit: enumerate all candidates first
|
|
34
|
-
- then dispatch parallel `executor` subagents, one candidate per subagent
|
|
35
|
-
- each subagent must apply the same guard-list and `lsp_find_references` checks
|
|
36
|
-
|
|
37
|
-
## Behavioral Constraints
|
|
38
|
-
|
|
39
|
-
- no heuristic-only deletion
|
|
40
|
-
- no bypass of entry-point guard list
|
|
41
|
-
- no GitHub-specific assumptions or workflows in deletion decisions
|
|
42
|
-
|
|
43
|
-
## Verification Expectations
|
|
44
|
-
|
|
45
|
-
- unit test: non-empty `lsp_find_references` result must refuse deletion
|
|
46
|
-
- unit test: guard-listed symbol must be skipped even when reference count is zero
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: research
|
|
3
|
-
description: "Evidence-first research mode for current patterns, implementation risks, and decision support."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Research
|
|
7
|
-
|
|
8
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
9
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
10
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>` (e.g. `enact-evolve-a38d1e`).
|
|
11
|
-
> 3. Factory planning artifacts go under `~/.enact/factory/projects/<key>/…`.
|
|
12
|
-
|
|
13
|
-
## Active Artifact Resolution
|
|
14
|
-
|
|
15
|
-
When reading prior research, pick the lexicographically greatest `YYMMDDHH` among files in `research/<YYMMDDHH>-*.md`. Never write unprefixed research filenames.
|
|
16
|
-
|
|
17
|
-
## Purpose
|
|
18
|
-
|
|
19
|
-
Use `$research` when the correct implementation depends on facts you do not yet have, either from the repo or from current external sources.
|
|
20
|
-
|
|
21
|
-
## Execution Policy
|
|
22
|
-
|
|
23
|
-
- start with brownfield evidence from the repo
|
|
24
|
-
- use primary sources for technical questions
|
|
25
|
-
- end with a decision-ready recommendation, not a wall of notes
|
|
26
|
-
- persist findings so the next pass does not repeat the work
|
|
27
|
-
|
|
28
|
-
## Workflow
|
|
29
|
-
|
|
30
|
-
1. Identify the actual unknowns.
|
|
31
|
-
2. Separate:
|
|
32
|
-
- repo truth
|
|
33
|
-
- external truth
|
|
34
|
-
- assumptions
|
|
35
|
-
3. Gather only the evidence needed to decide.
|
|
36
|
-
4. Write the result into `~/.enact/factory/projects/<key>/research/<YYMMDDHH>-<kebab-title>.md` (e.g. `research/26062101-auth-token-research.md`). Resolve `<key>` from `~/.enact/workspaces.json` as described in the Storage banner above; get the timestamp prefix via `date +%y%m%d%H`.
|
|
37
|
-
5. Update any linked loop contract or task state if the research is part of an active execution lane.
|
|
38
|
-
|
|
39
|
-
## Parallel Sweep
|
|
40
|
-
|
|
41
|
-
Run concurrent research agents for independent evidence lanes. The floor is 2 concurrent agents whenever there are both repo-truth and external-truth unknowns.
|
|
42
|
-
|
|
43
|
-
- minimum concurrent-agent floor: 2
|
|
44
|
-
- recommended split: one agent for internal repo evidence and one agent for external primary sources
|
|
45
|
-
- increase concurrency only when unknowns are independent and synthesis cost remains manageable
|
|
46
|
-
|
|
47
|
-
Anti-stop rule: do not stop at the first result. Continue each lane until at least one corroborating source is collected per lane, or until an explicit blocker is documented.
|
|
48
|
-
|
|
49
|
-
## Runtime Clarification
|
|
50
|
-
|
|
51
|
-
- `$research` is an evidence pass, not a closure-owning runtime lane.
|
|
52
|
-
- If research output is being used to support closure on a live loop, rely
|
|
53
|
-
on the real loop proof surfaces rather than treating research notes as
|
|
54
|
-
equivalent to stage evidence:
|
|
55
|
-
- `loop_grade({ stageId })` — engine runs the mechanical stage `command`; caller-supplied
|
|
56
|
-
`status`/`evidence` are rejected
|
|
57
|
-
- `loop_grader_dispatch` + driver-relayed `loop_grader_verdict` (minted `continuationId`) for judgment stages
|
|
58
|
-
- `loop_contract_parity` (for contract-parity checks)
|
|
59
|
-
|
|
60
|
-
## Deliverables
|
|
61
|
-
|
|
62
|
-
- current pattern or contract summary
|
|
63
|
-
- risk list
|
|
64
|
-
- recommendation with concrete tradeoffs
|
|
65
|
-
- open questions that still block planning or execution
|
|
66
|
-
|
|
67
|
-
### Internal Evidence
|
|
68
|
-
|
|
69
|
-
- repo paths inspected
|
|
70
|
-
- commands or tools used
|
|
71
|
-
- concrete findings tied to files, code, or runtime state
|
|
72
|
-
- unresolved internal gaps
|
|
73
|
-
|
|
74
|
-
### External Evidence
|
|
75
|
-
|
|
76
|
-
- primary sources consulted
|
|
77
|
-
- dated facts and version-sensitive constraints
|
|
78
|
-
- corroboration across at least one additional source
|
|
79
|
-
- unresolved external gaps
|
|
80
|
-
|
|
81
|
-
## Activation
|
|
82
|
-
|
|
83
|
-
Invoke with `$research` or `$enact-loop:research`. This skill is a stateless evidence pass — no durable workflow state is started automatically. If enact-loop MCP tools are available, use them for stage recording that flows from research output — mechanical via `loop_grade({ stageId })`, judgment via dispatched grader + relayed verdict — not by citing research markdown as pass evidence.
|