{"_id":"@4meta5/workflow-enforcer","_rev":"7-5ce199aefdee1bcb8c88003ecb4fd247","name":"@4meta5/workflow-enforcer","dist-tags":{"latest":"0.5.3"},"versions":{"0.1.0":{"name":"@4meta5/workflow-enforcer","version":"0.1.0","keywords":["workflow","state-machine","tdd","enforcement","gate"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/workflow-enforcer@0.1.0","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"1390214bb06af1e5eb2af5d8865333e2cf7dac95","tarball":"https://registry.npmjs.org/@4meta5/workflow-enforcer/-/workflow-enforcer-0.1.0.tgz","fileCount":22,"integrity":"sha512-4O5f3B1CFlOAVqmTUS003ZwwADXQk0q2oqEJQ8QaO6nF/zcGqeSM7zt0Zu5yF8D8f4ceoUZ9nBeL5jGtiyLG9Q==","signatures":[{"sig":"MEQCIHewzBZeVvEutLSn8mEQEZn9dcQMfonS7LqGYsVVcMfUAiAIilGoh/xpY/SHKjFMccUEjHyJ3aZMSuYE/8whoIDYdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59518},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6cbe0f88d5a5d7c15ddfd34591fb179159d0def2","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/workflow-enforcer"},"_npmVersion":"11.6.2","description":"State machine for workflow enforcement (TDD, code review, etc.)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/workflow-enforcer_0.1.0_1770012910933_0.6454871189661353","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@4meta5/workflow-enforcer","version":"0.2.0","keywords":["workflow","state-machine","tdd","enforcement","gate"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/workflow-enforcer@0.2.0","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"249ce0eebc6657dab92322fce7dd56f5fff75f30","tarball":"https://registry.npmjs.org/@4meta5/workflow-enforcer/-/workflow-enforcer-0.2.0.tgz","fileCount":22,"integrity":"sha512-kVuGrLXNSjb/9r6AT4LyqSJc0N3duWhiQTkTWzftvMuatIyNAtlFt++DY3CjO5kiMRHVp8B+/um0jOBADyYWGQ==","signatures":[{"sig":"MEQCIBwto2oPrRG7+ihF9WQe3Asu0QQ1Q+JqAuG/UN5c53ypAiBxj7VOA4KyQcugilrbQBM/IG9jkk62cLaa40YC0108Yg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59518},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2e5b4abe0f62c987427f566801f373f52d275af5","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/workflow-enforcer"},"_npmVersion":"11.6.2","description":"State machine for workflow enforcement (TDD, code review, etc.)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/workflow-enforcer_0.2.0_1770170429768_0.7960651533365561","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@4meta5/workflow-enforcer","version":"0.3.0","keywords":["workflow","state-machine","tdd","enforcement","gate"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/workflow-enforcer@0.3.0","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"bc2a836267785923dba0c533ee0b0229c62edd9b","tarball":"https://registry.npmjs.org/@4meta5/workflow-enforcer/-/workflow-enforcer-0.3.0.tgz","fileCount":22,"integrity":"sha512-jcBOlYzBNd89JtmAPL8zB0uOpFG48JU0lxeyJhwtHOvZNlrCpr4roRBzYuUjy9J1ECtPKWV6Lkr8+f5xiU7J5g==","signatures":[{"sig":"MEYCIQC0ezzNnU1bGPWTOIUFBX4BlKmNSXP+8XZdP3C+Hjqx8wIhAIUZ8tLWUlldQRclFHMf+RD2xU7ODMkmqwefbRQu2Yh6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59518},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6111ffcadc2d568e6fd96c9ec68511afc58e839c","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/workflow-enforcer"},"_npmVersion":"11.6.2","description":"State machine for workflow enforcement (TDD, code review, etc.)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/workflow-enforcer_0.3.0_1770296771464_0.028005690715376064","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@4meta5/workflow-enforcer","version":"0.4.0","keywords":["workflow","state-machine","tdd","enforcement","gate"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/workflow-enforcer@0.4.0","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"9b4e6f373e118145c066a4b1232d9b1a3adca66f","tarball":"https://registry.npmjs.org/@4meta5/workflow-enforcer/-/workflow-enforcer-0.4.0.tgz","fileCount":22,"integrity":"sha512-zBNhINGem63lqaAgYwUJYHDWVY4zZRNGOpHds/22x6VOTRVkS6kgrNZhqLtdsvVYR4Wero7Dtkd2rqLwYgVRSg==","signatures":[{"sig":"MEUCIQC3iYX2rsEvbvXbGFolxdpJO4ohJQjbBlIxcO04SqrK/wIgfHfD/aq+3+SvWfdDWL9K2LFK+6EHH5n76RJS+Wgl4G4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59518},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"76a6d2041fdc7810e63a0441d26574e4804ba0bb","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/workflow-enforcer"},"_npmVersion":"11.6.2","description":"State machine for workflow enforcement (TDD, code review, etc.)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/workflow-enforcer_0.4.0_1771026908796_0.32834961436650567","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@4meta5/workflow-enforcer","version":"0.5.1","keywords":["workflow","state-machine","tdd","enforcement","gate"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/workflow-enforcer@0.5.1","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"5b5b97e9415d9188ca2df8392edf805326b59b50","tarball":"https://registry.npmjs.org/@4meta5/workflow-enforcer/-/workflow-enforcer-0.5.1.tgz","fileCount":22,"integrity":"sha512-tz3swsn8JgT31PB71Gjxyxy04DZoGmVaL7H0YKhdJtwdgVVsrnmo4OIdOb7mPlyMVpMhne5sy1a1V8P/oqp++g==","signatures":[{"sig":"MEUCIQCJcRXnqqcCipmVFBShmDK4fcmM8RHYl6ilgHB/NO84HwIgUYmID6/6oDmYohbx1C23AkDJy0uLG7kSrHJjfIkLwak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59518},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"52c629415cc261d1d0c4b68d86a0ad8ec06883df","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/workflow-enforcer"},"_npmVersion":"11.6.2","description":"State machine for workflow enforcement (TDD, code review, etc.)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/workflow-enforcer_0.5.1_1771100519078_0.8451495043749464","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@4meta5/workflow-enforcer","version":"0.5.2","keywords":["workflow","state-machine","tdd","enforcement","gate"],"author":{"name":"Amar Singh"},"license":"MIT","_id":"@4meta5/workflow-enforcer@0.5.2","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"dist":{"shasum":"98a4277536c8b2b7f3570ad73c9ba1e7fa13fce0","tarball":"https://registry.npmjs.org/@4meta5/workflow-enforcer/-/workflow-enforcer-0.5.2.tgz","fileCount":22,"integrity":"sha512-orPVo0bWE8TTtQgfe858QJ9TS5ubGZz71qYGwEcVPiwB6HzyZByAXEl2N4Fzz9A0BJc/jliU8p5nLOsdgH4JXA==","signatures":[{"sig":"MEUCIEBgkzZlGFfdYl7EFIk5yQHpvXcrgB/avCitd3R6YskVAiEAmrYV/eYugCzVL42yBU40UpjzKNWS22m0xye56MnDEwI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59518},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cd5dd7db868244a0ba173e506bac18617ebc8908","scripts":{"test":"vitest run","build":"tsc","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"repository":{"url":"git+https://github.com/4meta5/skills.git","type":"git","directory":"packages/workflow-enforcer"},"_npmVersion":"11.6.2","description":"State machine for workflow enforcement (TDD, code review, etc.)","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.6.0","typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/workflow-enforcer_0.5.2_1771104588365_0.8672101411845774","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@4meta5/workflow-enforcer","version":"0.5.3","description":"State machine for workflow enforcement (TDD, code review, etc.)","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"keywords":["workflow","state-machine","tdd","enforcement","gate"],"author":{"name":"Amar Singh"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/4meta5/skills.git","directory":"packages/workflow-enforcer"},"homepage":"https://github.com/4meta5/skills#readme","bugs":{"url":"https://github.com/4meta5/skills/issues"},"devDependencies":{"@types/node":"^20.10.0","typescript":"^5.3.0","vitest":"^1.6.0"},"gitHead":"1fc8d9fd71f7225845659c0557cd818e59c8200d","_id":"@4meta5/workflow-enforcer@0.5.3","_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-GuRzkjZ2qFJ8D2hVd0ItYDKTqAy3F7OnCL6OavTluIi3JF623fu62dj59daeVQc4j1zUBCcXkcPvWaprqWJ8og==","shasum":"93e615289b8b282f70225d52b327b353b7568d58","tarball":"https://registry.npmjs.org/@4meta5/workflow-enforcer/-/workflow-enforcer-0.5.3.tgz","fileCount":22,"unpackedSize":59518,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC3hdsZn1g380mnPv1bf6TOAyaFj2gel9flPQpZErlxdwIhAKFtxLU/xQIdaIGxaVOLW0X8eGeAlXLzv7P8JZ0zmh46"}]},"_npmUser":{"name":"4meta5","email":"orlandodowntownhome@gmail.com"},"directories":{},"maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/workflow-enforcer_0.5.3_1771107322684_0.12489198563654402"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-02T06:15:10.818Z","modified":"2026-02-14T22:15:22.952Z","0.1.0":"2026-02-02T06:15:11.095Z","0.2.0":"2026-02-04T02:00:29.934Z","0.3.0":"2026-02-05T13:06:11.620Z","0.4.0":"2026-02-13T23:55:08.954Z","0.5.1":"2026-02-14T20:21:59.225Z","0.5.2":"2026-02-14T21:29:48.540Z","0.5.3":"2026-02-14T22:15:22.834Z"},"bugs":{"url":"https://github.com/4meta5/skills/issues"},"author":{"name":"Amar Singh"},"license":"MIT","homepage":"https://github.com/4meta5/skills#readme","keywords":["workflow","state-machine","tdd","enforcement","gate"],"repository":{"type":"git","url":"git+https://github.com/4meta5/skills.git","directory":"packages/workflow-enforcer"},"description":"State machine for workflow enforcement (TDD, code review, etc.)","maintainers":[{"name":"4meta5","email":"orlandodowntownhome@gmail.com"}],"readme":"# @4meta5/workflow-enforcer\n\nState machine for workflow enforcement. Enforce development practices like TDD, code review gates, and documentation-first workflows.\n\n## Installation\n\n```bash\nnpm install @4meta5/workflow-enforcer\n```\n\n## Quick Start\n\n```typescript\nimport { createEnforcer, TDD_PROFILE } from '@4meta5/workflow-enforcer';\n\nconst enforcer = createEnforcer(TDD_PROFILE);\n\n// Check if an intent is allowed in current phase\nconst result = enforcer.isAllowed('write_impl');\nif (!result.allowed) {\n  console.log('Blocked:', result.reason);\n  // \"Blocked in phase 'red': write_impl blocked until failing_test is satisfied\"\n}\n\n// Satisfy a capability to advance phases\nenforcer.transition({\n  type: 'capability_satisfied',\n  capability: 'failing_test',\n  evidence: {\n    satisfiedBy: 'vitest',\n    evidenceType: 'command_success',\n  },\n});\n\n// Now write_impl is allowed (in GREEN phase)\nconsole.log(enforcer.isAllowed('write_impl')); // { allowed: true, ... }\n```\n\n## Pre-built Profiles\n\n### TDD Profile\n\nEnforces RED → GREEN → REFACTOR cycle:\n\n| Phase | Allowed | Blocked | Advances When |\n|-------|---------|---------|---------------|\n| RED | write_test, read, run | write_impl, commit | failing_test satisfied |\n| GREEN | write_impl, write_test, read, run | commit | passing_test satisfied |\n| REFACTOR | write_impl, commit, read, run | (none) | refactored satisfied |\n\n```typescript\nimport { TDD_PROFILE, createEnforcer } from '@4meta5/workflow-enforcer';\n\nconst enforcer = createEnforcer(TDD_PROFILE);\n```\n\n### Code Review Profile\n\nAdvisory mode for review-before-merge workflows:\n\n| Phase | Blocked | Advances When |\n|-------|---------|---------------|\n| draft | push | code_complete satisfied |\n| review | deploy | review_passed satisfied |\n| approved | (none) | - |\n\n```typescript\nimport { CODE_REVIEW_PROFILE, createEnforcer } from '@4meta5/workflow-enforcer';\n\nconst enforcer = createEnforcer(CODE_REVIEW_PROFILE);\n```\n\n### Docs First Profile\n\nWrite documentation before implementation:\n\n| Phase | Blocked | Advances When |\n|-------|---------|---------------|\n| spec | write_impl | spec_complete satisfied |\n| implement | commit | implementation_complete satisfied |\n| complete | (none) | - |\n\n### No Workarounds Profile\n\nPrevents manual workarounds when building tools:\n\n| Phase | Blocked | Advances When |\n|-------|---------|---------------|\n| building | (none) | tool_working satisfied |\n| verified | (none) | - |\n\n## Strictness Modes\n\n| Mode | Behavior |\n|------|----------|\n| strict | Blocked intents return `allowed: false` |\n| advisory | Blocked intents return `allowed: true` with warning |\n| permissive | All intents allowed |\n\n## Intent Classification\n\nClassify file operations into intents:\n\n```typescript\nimport {\n  classifyFile,\n  classifyWriteIntent,\n  classifyToolIntent,\n} from '@4meta5/workflow-enforcer';\n\n// Classify by file path\nclassifyFile('src/utils.test.ts'); // 'test'\nclassifyFile('README.md'); // 'docs'\nclassifyFile('package.json'); // 'config'\nclassifyFile('src/utils.ts'); // 'impl'\n\n// Get write intent for a file\nclassifyWriteIntent('src/utils.test.ts'); // 'write_test'\nclassifyWriteIntent('src/utils.ts'); // 'write_impl'\n\n// Classify tool calls\nclassifyToolIntent('write', { file_path: 'src/utils.ts' }); // 'write_impl'\nclassifyToolIntent('bash', { command: 'npm test' }); // 'run'\nclassifyToolIntent('bash', { command: 'git commit -m \"test\"' }); // 'commit'\n```\n\n## Profile Matching\n\nMatch user prompts to profiles:\n\n```typescript\nimport { matchProfile, getProfile, listProfiles } from '@4meta5/workflow-enforcer';\n\n// Match from natural language\nmatchProfile('use tdd workflow'); // TDD_PROFILE\nmatchProfile('code review please'); // CODE_REVIEW_PROFILE\nmatchProfile('docs first approach'); // DOCS_FIRST_PROFILE\n\n// Get profile by name\ngetProfile('tdd'); // TDD_PROFILE\n\n// List all profile names\nlistProfiles(); // ['tdd', 'code-review', 'docs-first', 'no-workarounds']\n```\n\n## Custom Profiles\n\nCreate custom workflow profiles:\n\n```typescript\nimport { createEnforcer } from '@4meta5/workflow-enforcer';\nimport type { EnforcerProfile } from '@4meta5/workflow-enforcer';\n\nconst myProfile: EnforcerProfile = {\n  name: 'my-workflow',\n  strictness: 'strict',\n  initialPhase: 'planning',\n  phases: {\n    planning: {\n      name: 'planning',\n      provides: ['plan_complete'],\n      requires: [],\n      blockedIntents: ['write_impl'],\n      allowedIntents: ['write_docs', 'read'],\n    },\n    implementing: {\n      name: 'implementing',\n      provides: ['impl_complete'],\n      requires: ['plan_complete'],\n      blockedIntents: [],\n      allowedIntents: ['write_impl', 'write_test', 'commit'],\n    },\n  },\n  matchPatterns: ['my workflow', 'planning first'],\n};\n\nconst enforcer = createEnforcer(myProfile);\n```\n\n## API Reference\n\n### createEnforcer(profile)\n\nCreate an enforcer instance from a profile.\n\n### Enforcer Methods\n\n| Method | Description |\n|--------|-------------|\n| `isAllowed(intent)` | Check if intent is allowed in current phase |\n| `transition(event)` | Process workflow event and update state |\n| `getState()` | Get current enforcer state |\n| `getCurrentPhase()` | Get current phase definition |\n| `getBlockedReason(intent)` | Get reason why intent is blocked |\n| `getUnsatisfiedCapabilities()` | List capabilities not yet satisfied |\n| `isCapabilitySatisfied(cap)` | Check if capability is satisfied |\n| `reset()` | Reset to initial state |\n\n### Workflow Events\n\n```typescript\n// Satisfy a capability\nenforcer.transition({\n  type: 'capability_satisfied',\n  capability: 'failing_test',\n  evidence: {\n    satisfiedBy: 'vitest',\n    evidenceType: 'command_success',\n    evidencePath: 'src/test.ts',\n  },\n});\n\n// Complete a phase directly\nenforcer.transition({\n  type: 'phase_complete',\n  phase: 'red',\n});\n```\n\n## Types\n\nAll types are exported for TypeScript users:\n\n```typescript\nimport type {\n  Enforcer,\n  EnforcerProfile,\n  EnforcerState,\n  Phase,\n  Intent,\n  Strictness,\n  WorkflowEvent,\n  IntentCheckResult,\n  CapabilityEvidence,\n} from '@4meta5/workflow-enforcer';\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}