musubix3 0.1.19 → 0.1.21

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.
Files changed (80) hide show
  1. package/.github/plugin/marketplace.json +2 -2
  2. package/.github/skills/sdd-change/SKILL.md +28 -45
  3. package/CHANGELOG.md +126 -0
  4. package/README-ja.md +171 -5
  5. package/README.md +185 -8
  6. package/dist/packages/analysis/src/adapters.d.ts +2 -2
  7. package/dist/packages/analysis/src/adapters.js +33 -3
  8. package/dist/packages/analysis/src/adapters.js.map +1 -1
  9. package/dist/packages/analysis/src/approval-record.js +4 -0
  10. package/dist/packages/analysis/src/approval-record.js.map +1 -1
  11. package/dist/packages/analysis/src/approval.d.ts +51 -0
  12. package/dist/packages/analysis/src/approval.js +341 -2
  13. package/dist/packages/analysis/src/approval.js.map +1 -1
  14. package/dist/packages/analysis/src/attestation.js +4 -0
  15. package/dist/packages/analysis/src/attestation.js.map +1 -1
  16. package/dist/packages/analysis/src/change-evidence.d.ts +65 -8
  17. package/dist/packages/analysis/src/change-evidence.js +173 -46
  18. package/dist/packages/analysis/src/change-evidence.js.map +1 -1
  19. package/dist/packages/analysis/src/change-waiver.d.ts +46 -13
  20. package/dist/packages/analysis/src/change-waiver.js +481 -152
  21. package/dist/packages/analysis/src/change-waiver.js.map +1 -1
  22. package/dist/packages/analysis/src/change.d.ts +1 -0
  23. package/dist/packages/analysis/src/change.js +194 -66
  24. package/dist/packages/analysis/src/change.js.map +1 -1
  25. package/dist/packages/analysis/src/evidence-merge-guard.d.ts +9 -0
  26. package/dist/packages/analysis/src/evidence-merge-guard.js +62 -0
  27. package/dist/packages/analysis/src/evidence-merge-guard.js.map +1 -0
  28. package/dist/packages/analysis/src/evidence-merge.d.ts +55 -0
  29. package/dist/packages/analysis/src/evidence-merge.js +1182 -0
  30. package/dist/packages/analysis/src/evidence-merge.js.map +1 -0
  31. package/dist/packages/analysis/src/evidence-writer-lock.d.ts +189 -0
  32. package/dist/packages/analysis/src/evidence-writer-lock.js +843 -0
  33. package/dist/packages/analysis/src/evidence-writer-lock.js.map +1 -0
  34. package/dist/packages/analysis/src/files.js +11 -0
  35. package/dist/packages/analysis/src/files.js.map +1 -1
  36. package/dist/packages/analysis/src/formal.js +7 -0
  37. package/dist/packages/analysis/src/formal.js.map +1 -1
  38. package/dist/packages/analysis/src/gate.d.ts +1 -1
  39. package/dist/packages/analysis/src/gate.js +23 -6
  40. package/dist/packages/analysis/src/gate.js.map +1 -1
  41. package/dist/packages/analysis/src/graph.js +6 -0
  42. package/dist/packages/analysis/src/graph.js.map +1 -1
  43. package/dist/packages/analysis/src/index.d.ts +3 -0
  44. package/dist/packages/analysis/src/index.js +3 -0
  45. package/dist/packages/analysis/src/index.js.map +1 -1
  46. package/dist/packages/analysis/src/knowledge.js +4 -0
  47. package/dist/packages/analysis/src/knowledge.js.map +1 -1
  48. package/dist/packages/analysis/src/model-correspondence.js +5 -1
  49. package/dist/packages/analysis/src/model-correspondence.js.map +1 -1
  50. package/dist/packages/analysis/src/mutation.js +4 -0
  51. package/dist/packages/analysis/src/mutation.js.map +1 -1
  52. package/dist/packages/analysis/src/order.d.ts +16 -1
  53. package/dist/packages/analysis/src/order.js +10 -0
  54. package/dist/packages/analysis/src/order.js.map +1 -1
  55. package/dist/packages/analysis/src/performance.js +5 -1
  56. package/dist/packages/analysis/src/performance.js.map +1 -1
  57. package/dist/packages/analysis/src/quality-refresh.d.ts +18 -0
  58. package/dist/packages/analysis/src/quality-refresh.js +312 -0
  59. package/dist/packages/analysis/src/quality-refresh.js.map +1 -0
  60. package/dist/packages/analysis/src/tdd.d.ts +86 -3
  61. package/dist/packages/analysis/src/tdd.js +604 -52
  62. package/dist/packages/analysis/src/tdd.js.map +1 -1
  63. package/dist/packages/analysis/src/trace.d.ts +24 -0
  64. package/dist/packages/analysis/src/trace.js +101 -3
  65. package/dist/packages/analysis/src/trace.js.map +1 -1
  66. package/dist/packages/analysis/src/workflow-waiver.d.ts +6 -2
  67. package/dist/packages/analysis/src/workflow-waiver.js +9 -5
  68. package/dist/packages/analysis/src/workflow-waiver.js.map +1 -1
  69. package/dist/packages/analysis/src/workflow.d.ts +1 -1
  70. package/dist/packages/analysis/src/workflow.js +103 -21
  71. package/dist/packages/analysis/src/workflow.js.map +1 -1
  72. package/dist/packages/cli/src/install.js +51 -6
  73. package/dist/packages/cli/src/install.js.map +1 -1
  74. package/dist/packages/cli/src/main.js +252 -79
  75. package/dist/packages/cli/src/main.js.map +1 -1
  76. package/dist/packages/domain/src/design.js +8 -1
  77. package/dist/packages/domain/src/design.js.map +1 -1
  78. package/dist/packages/domain/src/types.d.ts +1 -0
  79. package/package.json +7 -2
  80. package/plugin.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evidence-merge.js","sourceRoot":"","sources":["../../../../packages/analysis/src/evidence-merge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ export type EvidenceWriterLockErrorCode = 'EVIDENCE_WRITER_LOCKED' | 'EVIDENCE_WRITER_LOCK_ACQUIRE_FAILED' | 'EVIDENCE_WRITER_LOCK_RELEASE_FAILED' | 'EVIDENCE_WRITER_LOCK_RECOVERY_UNSAFE' | 'EVIDENCE_WRITER_CONTEXT_LOST';
2
+ export type EvidenceOperationClass = 'writer' | 'coordinated-reader' | 'exempt';
3
+ export declare const EVIDENCE_OPERATION_CLASSIFICATION: {
4
+ readonly writer: readonly ["gate", "evidence refresh", "tdd red", "tdd green", "tdd refactor", "tdd migrate", "tdd void", "tdd archive", "change waiver record", "workflow-record", "workflow-verify", "workflow waiver record", "workflow waiver record-all", "approval record", "evidence merge --recover", "change quality-recover", "trace build", "graph index", "graph gate", "knowledge build", "formal check", "formal generate"];
5
+ readonly coordinatedReader: readonly ["status", "approval prepare", "approval validate", "design validate", "design c4", "trace check", "trace impact", "graph impact", "graph cycles", "knowledge query", "mutation validate", "model-correspondence validate", "attestation payload", "attestation verify", "tdd validate"];
6
+ readonly exempt: readonly ["help", "version", "plugin-install", "requirements validate", "requirements scaffold", "constitution validate", "design scaffold", "formal doctor", "config lint", "config scaffold", "mutation doctor", "mutation identity", "workflow-sanitize", "attestation oidc-audience", "evidence unlock --recover"];
7
+ readonly conditional: readonly ["init", "install", "upgrade", "change-record", "evidence merge"];
8
+ };
9
+ export declare const EVIDENCE_CONDITIONAL_OPERATION_MODES: readonly [{
10
+ readonly operation: "init";
11
+ readonly options: {};
12
+ readonly classification: "writer";
13
+ }, {
14
+ readonly operation: "init";
15
+ readonly options: {
16
+ readonly dryRun: true;
17
+ };
18
+ readonly classification: "coordinated-reader";
19
+ }, {
20
+ readonly operation: "install";
21
+ readonly options: {};
22
+ readonly classification: "writer";
23
+ }, {
24
+ readonly operation: "install";
25
+ readonly options: {
26
+ readonly dryRun: true;
27
+ };
28
+ readonly classification: "coordinated-reader";
29
+ }, {
30
+ readonly operation: "upgrade";
31
+ readonly options: {};
32
+ readonly classification: "writer";
33
+ }, {
34
+ readonly operation: "upgrade";
35
+ readonly options: {
36
+ readonly dryRun: true;
37
+ };
38
+ readonly classification: "coordinated-reader";
39
+ }, {
40
+ readonly operation: "change-record";
41
+ readonly options: {};
42
+ readonly classification: "writer";
43
+ }, {
44
+ readonly operation: "change-record";
45
+ readonly options: {
46
+ readonly dryRun: true;
47
+ };
48
+ readonly classification: "coordinated-reader";
49
+ }, {
50
+ readonly operation: "evidence merge";
51
+ readonly options: {};
52
+ readonly classification: "writer";
53
+ }, {
54
+ readonly operation: "evidence merge";
55
+ readonly options: {
56
+ readonly dryRun: true;
57
+ };
58
+ readonly classification: "coordinated-reader";
59
+ }];
60
+ export declare const EVIDENCE_WRITER_ANALYSIS_ENTRIES: readonly ["adapter output capture", "adapter output clear", "approval record", "change waiver record", "change-record", "change quality-recover", "evidence merge", "evidence merge --recover", "evidence order append", "formal check", "formal generate", "gate", "graph index", "knowledge build", "model-correspondence evidence generate", "mutation evidence generate", "performance evidence generate", "protected write", "tdd <phase>", "tdd archive", "tdd migrate", "tdd void", "trace build", "workflow waiver record", "workflow waiver record-all", "workflow-record", "workflow-verify"];
61
+ export interface EvidenceOperationClassificationOptions {
62
+ dryRun?: boolean;
63
+ recover?: boolean;
64
+ }
65
+ export declare function classifyEvidenceOperation(operation: string, options?: EvidenceOperationClassificationOptions): EvidenceOperationClass;
66
+ export interface LinuxProcessFingerprint {
67
+ platform: 'linux';
68
+ bootId: string;
69
+ pidNamespace: string;
70
+ processStart: string;
71
+ }
72
+ export interface UnsupportedProcessFingerprint {
73
+ platform: 'darwin' | 'win32' | 'aix' | 'android' | 'freebsd' | 'haiku' | 'openbsd' | 'sunos' | 'cygwin' | 'netbsd';
74
+ supported: false;
75
+ }
76
+ export type EvidenceWriterProcessFingerprint = LinuxProcessFingerprint | UnsupportedProcessFingerprint;
77
+ export interface EvidenceWriterLockOwner {
78
+ schemaVersion: 1;
79
+ canonicalRoot: string;
80
+ command: string;
81
+ pid: number;
82
+ hostname: string;
83
+ acquiredAt: string;
84
+ transactionId: string;
85
+ processFingerprint: EvidenceWriterProcessFingerprint;
86
+ }
87
+ export interface EvidenceWriterUnknownOwner {
88
+ schemaVersion: 'unknown';
89
+ canonicalRoot: 'unknown';
90
+ command: 'unknown';
91
+ pid: 'unknown';
92
+ hostname: 'unknown';
93
+ acquiredAt: 'unknown';
94
+ transactionId: 'unknown';
95
+ processFingerprint: 'unknown';
96
+ }
97
+ export type EvidenceWriterLockErrorOwner = EvidenceWriterLockOwner | EvidenceWriterUnknownOwner;
98
+ export interface EvidenceWriterLockIdentity {
99
+ dev: number;
100
+ ino: number;
101
+ }
102
+ export type EvidenceDirectorySyncPolicy = 'allow-unsupported' | 'strict';
103
+ export interface EvidenceWriterLockDependencies {
104
+ hostname?: () => string;
105
+ platform?: () => NodeJS.Platform;
106
+ resolveCanonicalRoot?: (root: string) => string;
107
+ processFingerprint?: () => Promise<EvidenceWriterProcessFingerprint>;
108
+ lockOwner?: (path: string) => Promise<EvidenceWriterLockOwner>;
109
+ lockIdentity?: (path: string) => Promise<EvidenceWriterLockIdentity>;
110
+ syncEvidenceDirectory?: (path: string, policy: EvidenceDirectorySyncPolicy) => Promise<void>;
111
+ syncEvidenceDirectorySync?: (path: string, policy: EvidenceDirectorySyncPolicy) => void;
112
+ }
113
+ export interface EvidenceWriterRecoveryDependencies extends EvidenceWriterLockDependencies {
114
+ processState?: (owner: EvidenceWriterLockOwner, currentFingerprint: EvidenceWriterProcessFingerprint) => Promise<'dead' | 'live' | 'reused' | 'indeterminate'>;
115
+ }
116
+ export interface EvidenceWriterLease {
117
+ owner: EvidenceWriterLockOwner;
118
+ release(): Promise<void>;
119
+ }
120
+ export type EvidenceWriterLockState = {
121
+ locked: false;
122
+ lockPath: string;
123
+ } | {
124
+ locked: true;
125
+ lockPath: string;
126
+ owner: EvidenceWriterLockOwner;
127
+ };
128
+ export interface EvidenceWriterRecoveryReport {
129
+ action: 'nothing-to-recover' | 'recovered';
130
+ recovered: boolean;
131
+ }
132
+ interface ErrorOptions {
133
+ lockPath: string;
134
+ owner?: EvidenceWriterLockErrorOwner;
135
+ cause?: unknown;
136
+ guidance?: string[];
137
+ }
138
+ export declare class EvidenceWriterLockError extends Error {
139
+ readonly code: EvidenceWriterLockErrorCode;
140
+ readonly lockPath: string;
141
+ readonly owner: EvidenceWriterLockErrorOwner | undefined;
142
+ readonly guidance: string[] | undefined;
143
+ constructor(code: EvidenceWriterLockErrorCode, message: string, options: ErrorOptions);
144
+ }
145
+ export declare class EvidenceProtectedOutputError extends Error {
146
+ readonly code = "EVIDENCE_PROTECTED_OUTPUT_REJECTED";
147
+ readonly path: string;
148
+ constructor(path: string);
149
+ }
150
+ export declare function resolveEvidenceWriterCanonicalRoot(root: string): string;
151
+ export declare function resolveEvidenceWriterCoordinatedRoot(root: string): string;
152
+ /** @id CODE-EVIDENCE-WRITER-LOCK-002
153
+ * @implements REQ-EVIDENCE-WRITER-LOCK-001 REQ-EVIDENCE-WRITER-LOCK-002 REQ-EVIDENCE-WRITER-LOCK-004
154
+ * @design DES-EVIDENCE-WRITER-LOCK-001
155
+ */
156
+ export declare function acquireEvidenceWriterLock(root: string, command: string, dependencies?: EvidenceWriterLockDependencies): Promise<EvidenceWriterLease>;
157
+ /** @id CODE-EVIDENCE-WRITER-LOCK-003
158
+ * @implements REQ-EVIDENCE-WRITER-LOCK-003 REQ-EVIDENCE-WRITER-LOCK-004
159
+ * @design DES-EVIDENCE-WRITER-LOCK-002
160
+ */
161
+ export declare function withEvidenceWriterLock<T>(root: string, command: string, operation: () => Promise<T>, dependencies?: EvidenceWriterLockDependencies): Promise<T>;
162
+ /** @id CODE-EVIDENCE-WRITER-LOCK-004
163
+ * @implements REQ-EVIDENCE-WRITER-LOCK-001 REQ-EVIDENCE-WRITER-LOCK-002
164
+ * @design DES-EVIDENCE-WRITER-LOCK-001
165
+ */
166
+ export declare function readEvidenceWriterLock(root: string): Promise<EvidenceWriterLockState>;
167
+ /** @id CODE-EVIDENCE-WRITER-LOCK-005
168
+ * @implements REQ-EVIDENCE-WRITER-LOCK-003
169
+ * @design DES-EVIDENCE-WRITER-LOCK-002
170
+ */
171
+ export declare function assertEvidenceWriterOwned(root: string): Promise<void>;
172
+ /** @id CODE-EVIDENCE-WRITER-LOCK-007
173
+ * @implements REQ-EVIDENCE-WRITER-LOCK-002 REQ-EVIDENCE-WRITER-LOCK-003
174
+ * @design DES-EVIDENCE-WRITER-LOCK-002 DES-EVIDENCE-WRITER-LOCK-003
175
+ */
176
+ export declare function assertCoordinatedEvidenceRead(root: string): Promise<void>;
177
+ /** @id CODE-EVIDENCE-WRITER-LOCK-008
178
+ * @implements REQ-EVIDENCE-WRITER-LOCK-001 REQ-EVIDENCE-WRITER-LOCK-002 REQ-EVIDENCE-WRITER-LOCK-003 REQ-EVIDENCE-WRITER-LOCK-005
179
+ * @design DES-EVIDENCE-WRITER-LOCK-002 DES-EVIDENCE-WRITER-LOCK-003 DES-EVIDENCE-WRITER-LOCK-004
180
+ */
181
+ export declare function assertProtectedPathReady(root: string, path: string, access: 'read' | 'write'): Promise<void>;
182
+ export declare function withProtectedEvidenceWrite<T>(root: string, path: string, operation: () => Promise<T>): Promise<T>;
183
+ export declare function assertEvidenceOutputUnprotected(root: string, path: string): Promise<void>;
184
+ /** @id CODE-EVIDENCE-WRITER-LOCK-006
185
+ * @implements REQ-EVIDENCE-WRITER-LOCK-004 REQ-EVIDENCE-WRITER-LOCK-005
186
+ * @design DES-EVIDENCE-WRITER-LOCK-004
187
+ */
188
+ export declare function recoverEvidenceWriterLock(root: string, dependencies?: EvidenceWriterRecoveryDependencies): Promise<EvidenceWriterRecoveryReport>;
189
+ export {};