{"_id":"@bernierllc/refactoring-core","_rev":"6-9eb08c35b158790aaba6538936356904","name":"@bernierllc/refactoring-core","dist-tags":{"latest":"0.6.0"},"versions":{"0.1.0":{"name":"@bernierllc/refactoring-core","version":"0.1.0","keywords":["refactoring","audit-trail","soft-delete","rollback","change-logging","agentic","compliance","session-tracking"],"author":{"name":"Bernier LLC"},"license":"MIT","_id":"@bernierllc/refactoring-core@0.1.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"df6878a9f3517431688e1c2ce8103f9c19fe6306","tarball":"https://registry.npmjs.org/@bernierllc/refactoring-core/-/refactoring-core-0.1.0.tgz","fileCount":31,"integrity":"sha512-mEHlhNeyWKWnz8SoRD9cKsQLebdc80wAx3r/6xYE1/oZYEsT3+8yvTazCjRLEBBmHxOaR4Vk9zuhnjZZGptcbw==","signatures":[{"sig":"MEUCIQDiA4uVsyFqeWCF79xfyu+3h1u/vJBMajo1yK3zfCzuFQIgKnG+Loo6/3cvQAk2h1Ym66JLEYudrGcHE1fEDARm0CE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268216},"main":"dist/index.js","_from":"file:bernierllc-refactoring-core-0.1.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src/**/*.ts __tests__/**/*.ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_resolved":"/tmp/2b9ae2ee1bc6bdce3bf770cb87f039d7/bernierllc-refactoring-core-0.1.0.tgz","_integrity":"sha512-mEHlhNeyWKWnz8SoRD9cKsQLebdc80wAx3r/6xYE1/oZYEsT3+8yvTazCjRLEBBmHxOaR4Vk9zuhnjZZGptcbw==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.7.0","description":"Audit trail management with soft-delete, mandatory change reasoning, rollback support, and refactoring session tracking for agentic refactoring workflows","directories":{},"_nodeVersion":"20.19.6","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.40.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refactoring-core_0.1.0_1766087456126_0.04513635584434117","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bernierllc/refactoring-core","version":"0.3.0","keywords":["refactoring","audit-trail","soft-delete","rollback","change-logging","agentic","compliance","session-tracking"],"author":{"name":"Bernier LLC"},"license":"MIT","_id":"@bernierllc/refactoring-core@0.3.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"41cabd886eeedd6681a6677e95320f2aec4a1d40","tarball":"https://registry.npmjs.org/@bernierllc/refactoring-core/-/refactoring-core-0.3.0.tgz","fileCount":31,"integrity":"sha512-sMOnVSapzuQ3LKv3042w9yQz757BPZcru4ktbJF7dEzw0lljrZaTyn8zufhicOgmMrbzzl2VhF9rfXcz8WUlRQ==","signatures":[{"sig":"MEUCIQCIeDk6YfYqGlslgsZYD/SA28QXs47JAIArFmByhPHJAwIgVcenuu155iWH0eJ1YvRuGScITUmHFR6OpmawXaq4CsA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270277},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"af7e74b3715d56d3a193e1bb6743b337c2b0df6d","scripts":{"lint":"eslint src/**/*.ts __tests__/**/*.ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:91c5b3c4-9c66-4742-b4d7-6e02e1349276"}},"repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"Audit trail management with soft-delete, mandatory change reasoning, rollback support, and refactoring session tracking for agentic refactoring workflows","directories":{},"_nodeVersion":"20.19.6","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.40.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refactoring-core_0.3.0_1767642324463_0.3416386622448444","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@bernierllc/refactoring-core","version":"0.3.1","keywords":["refactoring","audit-trail","soft-delete","rollback","change-logging","agentic","compliance","session-tracking"],"author":{"name":"Bernier LLC"},"license":"MIT","_id":"@bernierllc/refactoring-core@0.3.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"eced3aaab77553e1aaa0b0917c6430068195a000","tarball":"https://registry.npmjs.org/@bernierllc/refactoring-core/-/refactoring-core-0.3.1.tgz","fileCount":31,"integrity":"sha512-PGJdbu181W6q9GirynP22fMi1UuJQLkR4S6XIDeLFvvR2VL+zke2Z4WcNz03WzyvHjueC7P2Z9Hu7oGl+tYUtA==","signatures":[{"sig":"MEQCIE9tDzOhxY84l6KlRXWmwcJG/ruBjU6o8HyMYubF8AtwAiA7y8Y2UnOuPRwhA3gGKYTpJB0iMDsouJCSt1xaCsvoEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270436},"main":"dist/index.js","_from":"file:bernierllc-refactoring-core-0.3.1.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src/**/*.ts __tests__/**/*.ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:91c5b3c4-9c66-4742-b4d7-6e02e1349276"}},"_resolved":"/tmp/bc1cb21ed3980d0f67ddb50cb7ca068d/bernierllc-refactoring-core-0.3.1.tgz","_integrity":"sha512-PGJdbu181W6q9GirynP22fMi1UuJQLkR4S6XIDeLFvvR2VL+zke2Z4WcNz03WzyvHjueC7P2Z9Hu7oGl+tYUtA==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.11.0","description":"Audit trail management with soft-delete, mandatory change reasoning, rollback support, and refactoring session tracking for agentic refactoring workflows","directories":{},"_nodeVersion":"20.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.40.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refactoring-core_0.3.1_1773078062333_0.19185007097563944","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@bernierllc/refactoring-core","version":"0.3.2","keywords":["refactoring","audit-trail","soft-delete","rollback","change-logging","agentic","compliance","session-tracking"],"author":{"name":"Bernier LLC"},"license":"MIT","_id":"@bernierllc/refactoring-core@0.3.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"c153aabd0150b89841ea95f815bf6acaf9737643","tarball":"https://registry.npmjs.org/@bernierllc/refactoring-core/-/refactoring-core-0.3.2.tgz","fileCount":31,"integrity":"sha512-kH6abPOjvJG+HDj+GBU4XCgbfJ8liyufCKDhL7mEwyOcChGMeSlMletp2K7z2Ywevnt5IDG4pukoy/04qpFcYw==","signatures":[{"sig":"MEUCIQDIpF7qyZUIH7x57q+GP1dgj2RFJTv7pz1hvuh49oCKCwIgNzm9Nb20gr0K4CVDjC0VG3cEpBe4ndC92aDNfSflQEc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270653},"main":"dist/index.js","_from":"file:bernierllc-refactoring-core-0.3.2.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src/**/*.ts __tests__/**/*.ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:91c5b3c4-9c66-4742-b4d7-6e02e1349276"}},"_resolved":"/tmp/678edff6dd16d2b5461f268f92e74372/bernierllc-refactoring-core-0.3.2.tgz","_integrity":"sha512-kH6abPOjvJG+HDj+GBU4XCgbfJ8liyufCKDhL7mEwyOcChGMeSlMletp2K7z2Ywevnt5IDG4pukoy/04qpFcYw==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.11.0","description":"Audit trail management with soft-delete, mandatory change reasoning, rollback support, and refactoring session tracking for agentic refactoring workflows","directories":{},"_nodeVersion":"20.20.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.40.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refactoring-core_0.3.2_1773081242038_0.1523926670334752","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@bernierllc/refactoring-core","version":"0.5.0","keywords":["refactoring","audit-trail","soft-delete","rollback","change-logging","agentic","compliance","session-tracking"],"author":{"name":"Bernier LLC"},"license":"MIT","_id":"@bernierllc/refactoring-core@0.5.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"ce813c33201e423dbb5c6afe6aface6da4e9f54d","tarball":"https://registry.npmjs.org/@bernierllc/refactoring-core/-/refactoring-core-0.5.0.tgz","fileCount":22,"integrity":"sha512-uCcCaEuMAxbzTyU+rbpIcRdUFIuqf1w92eKRjvNy1E3jmfHySoRjki8lP3lmEkLtTIUnSoqZ0TYGBmm0UwL4BA==","signatures":[{"sig":"MEUCIGXwH5SuwRwpS0BPh+CV/GpAyUcbVPUvTzsAObNtkT6zAiEAp1xYzVSGPXzD/y/bqGlvo3tc6cZMzvaVvutKYej+Aj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":131038},"main":"dist/index.js","_from":"file:bernierllc-refactoring-core-0.5.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint src/**/*.ts __tests__/**/*.ts","test":"jest --watch","build":"tsc","clean":"rm -rf dist","test:run":"jest","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:91c5b3c4-9c66-4742-b4d7-6e02e1349276"}},"_resolved":"/home/runner/work/tools/tools/packages/core/refactoring-core/bernierllc-refactoring-core-0.5.0.tgz","_integrity":"sha512-uCcCaEuMAxbzTyU+rbpIcRdUFIuqf1w92eKRjvNy1E3jmfHySoRjki8lP3lmEkLtTIUnSoqZ0TYGBmm0UwL4BA==","repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.14.1","description":"Audit trail management with soft-delete, mandatory change reasoning, rollback support, and refactoring session tracking for agentic refactoring workflows","directories":{},"_nodeVersion":"20.20.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.40.0","ts-jest":"^29.1.0","typescript":"^5.0.0","@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/refactoring-core_0.5.0_1779241366589_0.03798564732538279","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@bernierllc/refactoring-core","version":"0.6.0","description":"Audit trail management with soft-delete, mandatory change reasoning, rollback support, and refactoring session tracking for agentic refactoring workflows","main":"dist/index.js","types":"dist/index.d.ts","keywords":["refactoring","audit-trail","soft-delete","rollback","change-logging","agentic","compliance","session-tracking"],"author":{"name":"Bernier LLC"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/bernier-llc/tools.git"},"devDependencies":{"@types/jest":"^29.5.0","@types/node":"^20.0.0","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0","eslint":"^8.40.0","jest":"^29.5.0","ts-jest":"^29.1.0","typescript":"^5.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build":"tsc","test":"jest --watch","test:run":"jest","test:coverage":"jest --coverage","lint":"eslint src/**/*.ts __tests__/**/*.ts","clean":"rm -rf dist"},"_id":"@bernierllc/refactoring-core@0.6.0","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"homepage":"https://github.com/bernier-llc/tools#readme","_integrity":"sha512-XyQQ6XY2TDfcoa1WeYig8N8FFJvYeBkSOd8N3YSbiMhgSrVosrU9nZSzRoLd95MRWwy5C+N98EOC/q3/hbtvVA==","_resolved":"/home/runner/work/tools/tools/packages/core/refactoring-core/bernierllc-refactoring-core-0.6.0.tgz","_from":"file:bernierllc-refactoring-core-0.6.0.tgz","_nodeVersion":"20.20.2","_npmVersion":"11.14.1","dist":{"integrity":"sha512-XyQQ6XY2TDfcoa1WeYig8N8FFJvYeBkSOd8N3YSbiMhgSrVosrU9nZSzRoLd95MRWwy5C+N98EOC/q3/hbtvVA==","shasum":"31f5567c067cdaad5e0e598126c6586394abb495","tarball":"https://registry.npmjs.org/@bernierllc/refactoring-core/-/refactoring-core-0.6.0.tgz","fileCount":22,"unpackedSize":131038,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGfZ3FUNQ7E49JfTNWBmKN16x65IdDGeayAPci3xXnhAAiEA61bBOR8QfV0b7G/rvsFr1alHWtN13j6ys7eCud1qT/g="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:91c5b3c4-9c66-4742-b4d7-6e02e1349276"}},"directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/refactoring-core_0.6.0_1779250115815_0.05634835968933327"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-18T19:50:55.985Z","modified":"2026-05-20T04:08:36.110Z","0.1.0":"2025-12-18T19:50:56.275Z","0.3.0":"2026-01-05T19:45:24.621Z","0.3.1":"2026-03-09T17:41:02.513Z","0.3.2":"2026-03-09T18:34:02.192Z","0.5.0":"2026-05-20T01:42:46.746Z","0.6.0":"2026-05-20T04:08:35.975Z"},"bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"author":{"name":"Bernier LLC"},"license":"MIT","homepage":"https://github.com/bernier-llc/tools#readme","keywords":["refactoring","audit-trail","soft-delete","rollback","change-logging","agentic","compliance","session-tracking"],"repository":{"type":"git","url":"git+https://github.com/bernier-llc/tools.git"},"description":"Audit trail management with soft-delete, mandatory change reasoning, rollback support, and refactoring session tracking for agentic refactoring workflows","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/refactoring-core\n\n**Audit trail management with soft-delete, mandatory change reasoning, rollback support, and refactoring session tracking for agentic refactoring workflows**\n\n## Installation\n\n```bash\nnpm install @bernierllc/refactoring-core\n```\n\n## Overview\n\nThe refactoring-core package provides a comprehensive system for tracking and managing work item modifications with:\n\n- **Mandatory Reasoning**: Every change requires explanation of WHY it was made\n- **Soft-Delete Operations**: Safe deletion with restoration capabilities\n- **Refactoring Sessions**: Group related changes for batch tracking and rollback\n- **Complete Audit Trail**: Full history of all changes with attribution\n- **Rollback Support**: Undo individual changes or entire sessions\n- **Risk Assessment**: Track change risk levels and confidence scores\n\nDesigned specifically for agentic refactoring workflows where AI agents must document their decision-making process for human review.\n\n## Features\n\n- ✅ **Session Management**: Group related changes into refactoring sessions\n- ✅ **Mandatory Reasoning**: All changes require detailed justification\n- ✅ **Soft-Delete**: Delete items safely with restoration support\n- ✅ **Change Logging**: Complete audit trail with attribution\n- ✅ **Rollback Operations**: Undo individual changes or entire sessions\n- ✅ **Validation**: Enforce reasoning quality and context appropriateness\n- ✅ **Batch Operations**: Soft-delete or restore multiple items atomically\n- ✅ **Risk Tracking**: Monitor high-risk changes requiring review\n- ✅ **Statistics & Reporting**: Comprehensive audit trail reports\n\n## Quick Start\n\n```typescript\nimport { RefactoringManager } from '@bernierllc/refactoring-core';\nimport { WorkItemManager } from '@bernierllc/work-item-core';\nimport { MyChangeLogStorage } from './storage';\n\n// Initialize manager\nconst workItemManager = new WorkItemManager(workItemStorage);\nconst changeLogStorage = new MyChangeLogStorage();\nconst manager = new RefactoringManager(workItemManager, changeLogStorage);\n\n// Start a refactoring session\nconst session = await manager.startSession({\n  summary: 'Consolidate duplicate authentication work items',\n  description: 'Merging 3 separate auth tasks into single comprehensive item',\n  project_id: 'proj_123',\n  initiated_by: 'agent:claude',\n});\n\nconst sessionId = session.data.id;\n\n// Soft-delete duplicates with reasoning\nawait manager.softDelete({\n  work_item_id: 'item_auth_1',\n  reason: 'Duplicate of item_auth_master - functionality covered by consolidated item',\n  context: {\n    risk_level: 'low',\n    future_consideration: false,\n    related_item_id: 'item_auth_master',\n  },\n  refactoring_session_id: sessionId,\n  deleted_by: 'agent:claude',\n});\n\n// Complete session\nawait manager.completeSession(\n  sessionId,\n  'Successfully consolidated 3 auth items into 1 comprehensive work item'\n);\n```\n\n## Core Concepts\n\n### Mandatory Reasoning\n\nAll changes MUST include reasoning that explains WHY the change was made:\n\n```typescript\n// ❌ INVALID - Too vague\nawait manager.logChange({\n  work_item_id: 'item_1',\n  change_type: 'updated',\n  changed_fields: ['priority'],\n  old_values: { priority: 5 },\n  new_values: { priority: 9 },\n  change_reason: 'updated', // Too vague!\n});\n\n// ✅ VALID - Clear explanation\nawait manager.logChange({\n  work_item_id: 'item_1',\n  change_type: 'updated',\n  changed_fields: ['priority'],\n  old_values: { priority: 5 },\n  new_values: { priority: 9 },\n  change_reason: 'Elevated priority because feature is now blocking v1.0 launch',\n});\n```\n\n### Refactoring Sessions\n\nGroup related changes for batch operations and rollback:\n\n```typescript\n// Start session\nconst session = await manager.startSession({\n  summary: 'Cleanup deprecated features',\n});\n\n// Make multiple changes\nawait manager.softDelete({\n  work_item_id: 'item_1',\n  reason: 'Feature deprecated in v2.0',\n  refactoring_session_id: session.data.id,\n});\n\nawait manager.softDelete({\n  work_item_id: 'item_2',\n  reason: 'Feature deprecated in v2.0',\n  refactoring_session_id: session.data.id,\n});\n\n// Complete session\nawait manager.completeSession(session.data.id);\n\n// Or rollback entire session if needed\nawait manager.rollbackSession(\n  session.data.id,\n  'Features are still needed after further review'\n);\n```\n\n### Soft-Delete\n\nSafely delete items with option to restore:\n\n```typescript\n// Soft-delete with future consideration\nawait manager.softDelete({\n  work_item_id: 'item_future',\n  reason: 'Feature not needed for v1.0 but may be revisited for v2.0',\n  context: {\n    risk_level: 'low',\n    future_consideration: true,\n    note_to_assignee: 'Good idea but out of scope - save for future sprint',\n  },\n});\n\n// Later, query items marked for future consideration\nconst futureItems = await manager.getDeletedItems({\n  future_consideration: true,\n});\n\n// Restore if needed\nawait manager.restore({\n  work_item_id: 'item_future',\n  reason: 'Including in v1.0 after all based on customer feedback',\n});\n```\n\n## API Reference\n\n### RefactoringManager\n\nMain class for refactoring operations.\n\n#### Constructor\n\n```typescript\nconstructor(\n  workItemManager: WorkItemManager,\n  changeLogStorage: ChangeLogStorage,\n  versionStore?: VersionStore<WorkItem>,\n  config?: RefactoringConfig\n)\n```\n\n**Parameters:**\n- `workItemManager`: Interface to work item storage (from @bernierllc/work-item-core)\n- `changeLogStorage`: Interface to change log storage (implement yourself)\n- `versionStore`: Optional version store for snapshots (from @bernierllc/version-store)\n- `config`: Optional configuration\n\n**Configuration Options:**\n```typescript\ninterface RefactoringConfig {\n  minReasonLength?: number;           // Default: 20\n  softDeleteRetentionDays?: number;   // Default: 30\n  strictReasoning?: boolean;          // Default: true\n  autoVersionSnapshot?: boolean;      // Default: true\n  requireReviewHighRisk?: boolean;    // Default: false\n}\n```\n\n#### Session Operations\n\n##### startSession\n\nStart a new refactoring session.\n\n```typescript\nasync startSession(input: StartSessionInput): Promise<RefactoringResult<RefactoringSession>>\n```\n\n**Input:**\n```typescript\ninterface StartSessionInput {\n  summary: string;                  // REQUIRED - Overall goal\n  description?: string;\n  planning_session_id?: string;\n  project_id?: string;\n  initiated_by?: string;\n  metadata?: Record<string, unknown>;\n}\n```\n\n##### completeSession\n\nMark session as complete.\n\n```typescript\nasync completeSession(\n  sessionId: string,\n  summary?: string\n): Promise<RefactoringResult<RefactoringSession>>\n```\n\n##### getSession\n\nRetrieve session details.\n\n```typescript\nasync getSession(\n  sessionId: string,\n  include_changes?: boolean\n): Promise<RefactoringResult<RefactoringSession>>\n```\n\n##### rollbackSession\n\nRollback entire session.\n\n```typescript\nasync rollbackSession(\n  sessionId: string,\n  reason: string\n): Promise<RefactoringResult<RollbackResult>>\n```\n\n#### Soft-Delete Operations\n\n##### softDelete\n\nSoft-delete work item with reasoning.\n\n```typescript\nasync softDelete(input: SoftDeleteInput): Promise<RefactoringResult<void>>\n```\n\n**Input:**\n```typescript\ninterface SoftDeleteInput {\n  work_item_id: string;\n  reason: string;                   // REQUIRED - MANDATORY reasoning\n  context?: DeletionContext;\n  refactoring_session_id?: string;\n  deleted_by?: string;\n}\n```\n\n##### restore\n\nRestore soft-deleted work item.\n\n```typescript\nasync restore(input: RestoreInput): Promise<RefactoringResult<void>>\n```\n\n**Input:**\n```typescript\ninterface RestoreInput {\n  work_item_id: string;\n  reason: string;                   // REQUIRED - WHY restoring\n  refactoring_session_id?: string;\n  restored_by?: string;\n}\n```\n\n#### Change Logging\n\n##### logChange\n\nLog a work item change with reasoning.\n\n```typescript\nasync logChange(input: LogChangeInput): Promise<RefactoringResult<WorkItemChangeLog>>\n```\n\n**Input:**\n```typescript\ninterface LogChangeInput {\n  work_item_id: string;\n  change_type: 'created' | 'updated' | 'deleted' | 'restored';\n  changed_fields: string[];\n  old_values?: Record<string, unknown>;\n  new_values?: Record<string, unknown>;\n  change_reason: string;            // REQUIRED - MANDATORY reasoning\n  change_context?: ChangeContext;\n  changed_by?: string;\n  refactoring_session_id?: string;\n  is_refactor_change?: boolean;\n}\n```\n\n##### getChangeHistory\n\nGet all changes for a work item.\n\n```typescript\nasync getChangeHistory(\n  workItemId: string,\n  include_rolled_back?: boolean\n): Promise<RefactoringResult<WorkItemChangeLog[]>>\n```\n\n#### Rollback Operations\n\n##### canRollback\n\nCheck if a change can be rolled back.\n\n```typescript\nasync canRollback(\n  changeId: string\n): Promise<RefactoringResult<ValidationResult>>\n```\n\n##### rollbackChange\n\nRollback a single change.\n\n```typescript\nasync rollbackChange(\n  changeId: string,\n  reason: string\n): Promise<RefactoringResult<void>>\n```\n\n#### Query & Reporting\n\n##### getDeletedItems\n\nGet soft-deleted work items.\n\n```typescript\nasync getDeletedItems(\n  filters: DeletedItemFilters\n): Promise<RefactoringResult<SoftDeletableWorkItem[]>>\n```\n\n##### getAuditTrail\n\nGet comprehensive audit trail report.\n\n```typescript\nasync getAuditTrail(\n  projectId?: string,\n  dateRange?: { from: Date; to: Date }\n): Promise<RefactoringResult<AuditTrailReport>>\n```\n\n##### getHighRiskChanges\n\nGet changes marked as high risk.\n\n```typescript\nasync getHighRiskChanges(\n  filters?: ChangeLogFilters\n): Promise<RefactoringResult<WorkItemChangeLog[]>>\n```\n\n#### Batch Operations\n\n##### softDeleteBatch\n\nSoft-delete multiple items with shared reasoning.\n\n```typescript\nasync softDeleteBatch(\n  workItemIds: string[],\n  reason: string,\n  context?: DeletionContext\n): Promise<RefactoringResult<void>>\n```\n\n##### restoreBatch\n\nRestore multiple items with shared reasoning.\n\n```typescript\nasync restoreBatch(\n  workItemIds: string[],\n  reason: string\n): Promise<RefactoringResult<void>>\n```\n\n## Validation Functions\n\nStandalone validation functions for reasoning and context:\n\n### validateReasoning\n\n```typescript\nimport { validateReasoning } from '@bernierllc/refactoring-core';\n\nconst validation = validateReasoning(\n  'Consolidating duplicate features',\n  'updated',\n  20,    // minLength\n  true   // strict\n);\n\nif (!validation.is_valid) {\n  console.error('Validation errors:', validation.errors);\n}\n```\n\n### validateDeletionContext\n\n```typescript\nimport { validateDeletionContext } from '@bernierllc/refactoring-core';\n\nconst validation = validateDeletionContext({\n  risk_level: 'high',\n  note_to_assignee: 'Removing due to security concerns',\n});\n\nif (validation.warnings.length > 0) {\n  console.warn('Warnings:', validation.warnings);\n}\n```\n\n## Storage Interface\n\nImplement the `ChangeLogStorage` interface for your database:\n\n```typescript\nimport { ChangeLogStorage } from '@bernierllc/refactoring-core';\n\nclass PrismaChangeLogStorage implements ChangeLogStorage {\n  async saveChange(change: WorkItemChangeLog): Promise<void> {\n    await prisma.changeLog.create({ data: change });\n  }\n\n  async getChange(id: string): Promise<WorkItemChangeLog | null> {\n    return await prisma.changeLog.findUnique({ where: { id } });\n  }\n\n  // Implement other methods...\n}\n```\n\n## Examples\n\n### Complete Refactoring Workflow\n\n```typescript\n// Start session\nconst session = await manager.startSession({\n  summary: 'Consolidate authentication work items',\n  project_id: 'proj_auth',\n  initiated_by: 'agent:claude',\n});\n\nconst sessionId = session.data.id;\n\n// Log updates\nawait manager.logChange({\n  work_item_id: 'item_auth_master',\n  change_type: 'updated',\n  changed_fields: ['description', 'requirements'],\n  old_values: { description: 'Basic auth' },\n  new_values: { description: 'Comprehensive authentication system' },\n  change_reason: 'Merged requirements from 3 duplicate items into master',\n  refactoring_session_id: sessionId,\n  changed_by: 'agent:claude',\n});\n\n// Soft-delete duplicates\nawait manager.softDelete({\n  work_item_id: 'item_auth_1',\n  reason: 'Duplicate - merged into item_auth_master',\n  context: {\n    risk_level: 'low',\n    related_item_id: 'item_auth_master',\n  },\n  refactoring_session_id: sessionId,\n  deleted_by: 'agent:claude',\n});\n\n// Complete session\nawait manager.completeSession(\n  sessionId,\n  'Consolidated 3 auth items into 1 comprehensive work item'\n);\n\n// Get audit trail\nconst audit = await manager.getAuditTrail('proj_auth');\nconsole.log(`Total changes: ${audit.data.total_changes}`);\nconsole.log(`Sessions: ${audit.data.sessions.length}`);\n```\n\n### Rollback Workflow\n\n```typescript\n// If human reviewer decides consolidation was wrong\nconst rollback = await manager.rollbackSession(\n  sessionId,\n  'Consolidation removed important context - restoring for review'\n);\n\nif (rollback.success) {\n  console.log(`Rolled back ${rollback.data.changes_rolled_back} changes`);\n  console.log(`Restored ${rollback.data.work_items_restored} work items`);\n}\n```\n\n### High-Risk Change Tracking\n\n```typescript\n// Log high-risk change\nawait manager.logChange({\n  work_item_id: 'item_critical',\n  change_type: 'updated',\n  changed_fields: ['security_requirements'],\n  old_values: { security_requirements: 'basic' },\n  new_values: { security_requirements: 'none' },\n  change_reason: 'Removing security requirements based on new architecture',\n  change_context: {\n    risk_level: 'high',\n    agent_confidence: 0.6,\n    review_required: true,\n    note_to_assignee: 'Please review - significant change to security posture',\n  },\n  changed_by: 'agent:claude',\n});\n\n// Query high-risk changes\nconst highRisk = await manager.getHighRiskChanges();\nconsole.log(`Found ${highRisk.data.length} high-risk changes requiring review`);\n```\n\n## Integration Status\n\n- **Logger**: Not applicable (core utility package)\n- **Docs-Suite**: Ready - Complete API documentation with examples\n- **NeverHub**: Not applicable (core utility package)\n\n## Dependencies\n\n- None (pure TypeScript implementation)\n\n## Dev Dependencies\n\n- TypeScript 5.0+\n- Jest for testing\n- ESLint for linting\n\n## Contributing\n\nThis package follows strict quality standards:\n- 90%+ test coverage required\n- Zero TypeScript errors (strict mode)\n- Zero linting errors\n- Comprehensive documentation\n\n## License\n\nCopyright (c) 2025 Bernier LLC\n\nThis file is licensed to the client under a limited-use license.\nThe client may use and modify this code *only within the scope of the project it was delivered for*.\nRedistribution or use in other products or commercial offerings is not permitted without written consent from Bernier LLC.\n\n## See Also\n\n- [@bernierllc/work-item-core](../work-item-core) - Work item CRUD operations\n- [@bernierllc/version-store](../version-store) - Version history snapshots\n- [@bernierllc/planning-session-core](../planning-session-core) - Planning session management\n","readmeFilename":"README.md"}