@intentset/architecture 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/check.d.ts CHANGED
@@ -11,7 +11,7 @@
11
11
  * migration mode. What could not be checked is listed in `unresolved` and,
12
12
  * for imports, reported as a TS004 warning: never a pass (invariant 6).
13
13
  */
14
- import { type Diagnostic, type Graph, type Level, type Registries } from "@intentset/core";
14
+ import { type Diagnostic, type Graph, type Level, type OwnershipEntry, type OwnershipReportSection, type Registries } from "@intentset/core";
15
15
  import { type BaselineEntry, type Mode } from "./baseline.ts";
16
16
  import { type ArchitectureConfig } from "./config.ts";
17
17
  import { type ExceptionRecord } from "./exceptions.ts";
@@ -64,10 +64,27 @@ export interface ArchitectureResult {
64
64
  summary: ArchitectureSummary;
65
65
  /** The resolved import graph, for reports and impact views. */
66
66
  edges: ImportEdge[];
67
+ /**
68
+ * Where every file falls, sorted by path: each production file's region and
69
+ * owner, every test file with the slice its claims match, and nothing for a
70
+ * file in the external region (root configuration, scripts, documents that
71
+ * nothing claims). Out-of-scope files are attributed too: scope decides what
72
+ * is reported, not who owns what.
73
+ */
74
+ ownership: OwnershipEntry[];
67
75
  }
68
76
  /** VSA §2: the rules that are review assertions, snapshot diffs or contract diffs rather than structure. */
69
77
  export declare const REVIEW_REQUIRED: string[];
70
78
  export declare function checkArchitecture(graph: Graph, registries: Registries, tree: {
71
79
  files: ReadonlyMap<string, string>;
72
80
  }, options?: CheckOptions): ArchitectureResult;
81
+ /**
82
+ * `reports.ownership` for the export (spec/export.md §4.4): the check's file
83
+ * attribution, stamped with the snapshot it was read at, so a consumer can
84
+ * turn a file from a stack frame into a slice, its behaviors and its owner.
85
+ */
86
+ export declare function ownershipReport(result: ArchitectureResult, snapshot: {
87
+ commit: string | null;
88
+ graphHash: string;
89
+ }): OwnershipReportSection;
73
90
  //# sourceMappingURL=check.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAmB,MAAM,iBAAiB,CAAC;AAC5G,OAAO,EAAiB,KAAK,aAAa,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAG7E,OAAO,EAA4B,KAAK,kBAAkB,EAAyC,MAAM,aAAa,CAAC;AAEvH,OAAO,EAAmB,KAAK,eAAe,EAAuC,MAAM,iBAAiB,CAAC;AAE7G,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAOjE,MAAM,WAAW,YAAY;IAC3B,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,kEAAkE;IAClE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,8FAA8F;IAC9F,UAAU,CAAC,EAAE,SAAS,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IACpE,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACpC,gFAAgF;IAChF,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,iGAAiG;IACjG,cAAc,EAAE,MAAM,CAAC;IACvB,4FAA4F;IAC5F,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gFAAgF;IAChF,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,+DAA+D;IAC/D,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,4GAA4G;AAC5G,eAAO,MAAM,eAAe,UAO3B,CAAC;AAMF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAC5C,OAAO,GAAE,YAAiB,GACzB,kBAAkB,CAiGpB"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAiB,KAAK,aAAa,EAAE,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAG7E,OAAO,EAA4B,KAAK,kBAAkB,EAAyC,MAAM,aAAa,CAAC;AAEvH,OAAO,EAAmB,KAAK,eAAe,EAAuC,MAAM,iBAAiB,CAAC;AAE7G,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAOjE,MAAM,WAAW,YAAY;IAC3B,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrC,kEAAkE;IAClE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,8FAA8F;IAC9F,UAAU,CAAC,EAAE,SAAS,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IACpE,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACpC,gFAAgF;IAChF,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+FAA+F;IAC/F,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,iGAAiG;IACjG,cAAc,EAAE,MAAM,CAAC;IACvB,4FAA4F;IAC5F,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gFAAgF;IAChF,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,+DAA+D;IAC/D,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB;;;;;;OAMG;IACH,SAAS,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,4GAA4G;AAC5G,eAAO,MAAM,eAAe,UAO3B,CAAC;AAMF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAC5C,OAAO,GAAE,YAAiB,GACzB,kBAAkB,CA4GpB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrD,sBAAsB,CAOxB"}
package/dist/check.js CHANGED
@@ -11,7 +11,7 @@
11
11
  * migration mode. What could not be checked is listed in `unresolved` and,
12
12
  * for imports, reported as a TS004 warning: never a pass (invariant 6).
13
13
  */
14
- import { sortDiagnostics } from "@intentset/core";
14
+ import { sortDiagnostics, } from "@intentset/core";
15
15
  import { applyBaseline } from "./baseline.js";
16
16
  import { checkBoundaries, checkUnclassified } from "./boundaries.js";
17
17
  import { checkClaims } from "./claims.js";
@@ -125,6 +125,31 @@ export function checkArchitecture(graph, registries, tree, options = {}) {
125
125
  unresolved: [...new Set(unresolved)].sort(compareStrings),
126
126
  reviewRequired: [...REVIEW_REQUIRED],
127
127
  };
128
- return { diagnostics, summary, edges: imports.edges };
128
+ const ownership = [];
129
+ for (const path of model.files.keys()) {
130
+ if (model.isTest(path)) {
131
+ ownership.push({ path, region: "test", owner: model.testOwner(path) });
132
+ continue;
133
+ }
134
+ const region = model.regionOf(path);
135
+ if (region.kind === "external")
136
+ continue;
137
+ ownership.push({ path, region: region.kind, owner: region.owner ?? null });
138
+ }
139
+ ownership.sort((a, b) => compareStrings(a.path, b.path));
140
+ return { diagnostics, summary, edges: imports.edges, ownership };
141
+ }
142
+ /**
143
+ * `reports.ownership` for the export (spec/export.md §4.4): the check's file
144
+ * attribution, stamped with the snapshot it was read at, so a consumer can
145
+ * turn a file from a stack frame into a slice, its behaviors and its owner.
146
+ */
147
+ export function ownershipReport(result, snapshot) {
148
+ return {
149
+ commit: snapshot.commit,
150
+ graphHash: snapshot.graphHash,
151
+ files: result.ownership.map((entry) => ({ ...entry })),
152
+ withheld: 0,
153
+ };
129
154
  }
130
155
  //# sourceMappingURL=check.js.map
package/dist/check.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../src/check.ts"],"names":[],"mappings":"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"}
package/dist/claims.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Path and resource ownership (VSA §3, §7; VSA009; profile AMP004).
3
3
  *
4
- * - A nonempty claim that matches no file is VSA009.
4
+ * - A nonempty claim that matches no file is VSA009: a warning while the
5
+ * slice is draft (planned, not yet owned), an error once it is not.
5
6
  * - Two slices resolving one file is VSA009, once per pair of claims, naming
6
7
  * both slices, both claims and the files.
7
8
  * - A file claimed by a slice and recorded as a registry resource has two
@@ -1 +1 @@
1
- {"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../src/claims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,KAAK,KAAK,EAAkB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,KAAK,OAAO,EAA6B,MAAM,cAAc,CAAC;AAGvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE,CA2MzF"}
1
+ {"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../src/claims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,KAAK,KAAK,EAAkB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,KAAK,OAAO,EAA6B,MAAM,cAAc,CAAC;AAGvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE1C,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE,CA+MzF"}
package/dist/claims.js CHANGED
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Path and resource ownership (VSA §3, §7; VSA009; profile AMP004).
3
3
  *
4
- * - A nonempty claim that matches no file is VSA009.
4
+ * - A nonempty claim that matches no file is VSA009: a warning while the
5
+ * slice is draft (planned, not yet owned), an error once it is not.
5
6
  * - Two slices resolving one file is VSA009, once per pair of claims, naming
6
7
  * both slices, both claims and the files.
7
8
  * - A file claimed by a slice and recorded as a registry resource has two
@@ -41,12 +42,16 @@ export function checkClaims(model, graph, registriesPath) {
41
42
  return;
42
43
  }
43
44
  if (slice.claimFiles[i].length === 0) {
45
+ const planned = slice.artifact.meta.status === "draft";
44
46
  findings.push(finding({
45
47
  code: "VSA009",
48
+ ...(planned ? { severity: "warning" } : {}),
46
49
  artifact: slice.id,
47
50
  path: slice.path,
48
51
  field,
49
- message: `The ${claim.kind} claim ${claim.path} of ${slice.id} matches no file in the repository.`,
52
+ message: planned
53
+ ? `The ${claim.kind} claim ${claim.path} of draft slice ${slice.id} matches no file yet; it is planned, and an error once the slice leaves draft.`
54
+ : `The ${claim.kind} claim ${claim.path} of ${slice.id} matches no file in the repository.`,
50
55
  remediation: "Correct the path, add the files it promises, or remove the claim; an empty claim is not ownership (VSA §3).",
51
56
  }));
52
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claims.js","sourceRoot":"","sources":["../src/claims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAgB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhE,MAAM,UAAU,WAAW,CAAC,KAAY,EAAE,KAAY,EAAE,cAAsB;IAC5E,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,2BAA2B,CAAC,OAAO,CAAC;YAClD,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACjB,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBACxC,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;wBACN,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,KAAK,CAAC,EAAE;wBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK;wBACL,OAAO,EAAE,SAAS,CAAC,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,KAAK,GAAG,8BAA8B;wBACvF,WAAW,EAAE,2FAA2F;qBACzG,CAAC,CACH,CAAC;gBACJ,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;oBACN,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK;oBACL,OAAO,EAAE,OAAO,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,qCAAqC;oBAClG,WAAW,EACT,6GAA6G;iBAChH,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,MAAM,KAAK,GAAG,IAAI,GAAG,EAGlB,CAAC;IACJ,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK;oBAAE,SAAS;gBAClD,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5G,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBACpD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACzD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QAChD,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;YACN,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,CAAC,KAAK;YACjB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,WAAW,MAAM,SAAS,CAAC,CAAC,KAAK,WAAW,MAAM,kBAAkB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,GAAG;YAC1I,WAAW,EAAE,wHAAwH;YACrI,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;YAC3C,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;SACxC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACxC,MAAM,KAAK,GAAG,cAAc,KAAK,OAAO,CAAC;QACzC,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,cAAc;gBACpB,KAAK;gBACL,OAAO,EAAE,YAAY,QAAQ,CAAC,EAAE,iBAAiB,QAAQ,CAAC,IAAI,WAAW,GAAG,GAAG;gBAC/E,WAAW,EAAE,8FAA8F;aAC5G,CAAC,CACH,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,cAAc;gBACpB,KAAK;gBACL,OAAO,EAAE,YAAY,QAAQ,CAAC,EAAE,qBAAqB,QAAQ,CAAC,IAAI,4CAA4C;gBAC9G,WAAW,EAAE,wFAAwF;aACtG,CAAC,CACH,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACjE,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;gBAChB,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,yBAAyB,QAAQ,CAAC,EAAE,cAAc,QAAQ,CAAC,KAAK,yBAAyB,OAAO,GAAG;gBACvK,WAAW,EAAE,mDAAmD,OAAO,SAAS,QAAQ,CAAC,EAAE,sEAAsE;gBACjK,KAAK,EAAE,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC;gBACvD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;aAC5C,CAAC,CACH,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7D,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;oBACN,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,cAAc,KAAK,cAAc,CAAC,EAAE;oBAC3C,OAAO,EAAE,YAAY,QAAQ,CAAC,EAAE,uBAAuB,QAAQ,sCAAsC;oBACrG,WAAW,EAAE,0FAA0F;iBACxG,CAAC,CACH,CAAC;YACJ,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7E,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;oBACN,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,SAAS;oBACnB,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,cAAc,KAAK,cAAc,CAAC,EAAE;oBAC3C,OAAO,EAAE,YAAY,QAAQ,CAAC,EAAE,UAAU,QAAQ,uBAAuB,QAAQ,qCAAqC;oBACtH,WAAW,EAAE,OAAO,QAAQ,CAAC,EAAE,4BAA4B,QAAQ,eAAe,QAAQ,iCAAiC;iBAC5H,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/F,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO;YAC5E,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,SAAS;gBACnB,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,kCAAkC,CAAC,EAAE;gBAC5C,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,kBAAkB,EAAE,qEAAqE;gBAC7G,WAAW,EAAE,OAAO,KAAK,CAAC,EAAE,wBAAwB,EAAE,mEAAmE;aAC1H,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAA2C;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS;QACpD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,gBAAgB,IAAI,sDAAsD;gBACnF,WAAW,EACT,iIAAiI;aACpI,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,eAAe,IAAI,sFAAsF;gBAClH,WAAW,EAAE,2FAA2F;aACzG,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"claims.js","sourceRoot":"","sources":["../src/claims.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  */
7
7
  export { applyBaseline, type BaselineEntry, fingerprint, type Mode, parseBaseline, plainMessage, writeBaseline, } from "./baseline.ts";
8
8
  export { type BoundaryResult, checkBoundaries, checkUnclassified, type SliceEdge } from "./boundaries.ts";
9
- export { type ArchitectureResult, type ArchitectureSummary, type CheckOptions, checkArchitecture, REVIEW_REQUIRED, } from "./check.ts";
9
+ export { type ArchitectureResult, type ArchitectureSummary, type CheckOptions, checkArchitecture, ownershipReport, REVIEW_REQUIRED, } from "./check.ts";
10
10
  export { checkClaims } from "./claims.ts";
11
11
  export { ARCHITECTURE_CONFIG_PATH, type ArchitectureConfig, DEFAULT_ARCHITECTURE_CONFIG, readArchitectureConfig, resolveConfig, } from "./config.ts";
12
12
  export { checkDependencies, shortestCycle, stronglyConnected } from "./dependencies.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,aAAa,EACb,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,IAAI,EACT,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,2BAA2B,EAC3B,sBAAsB,EACtB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EACL,QAAQ,EACR,eAAe,EACf,MAAM,EACN,mBAAmB,EACnB,KAAK,eAAe,EACpB,mBAAmB,EACnB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,UAAU,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/E,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EACL,YAAY,EACZ,UAAU,EACV,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,UAAU,EACf,WAAW,EACX,KAAK,SAAS,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,UAAU,EAAE,QAAQ,EAAE,KAAK,GAAG,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,aAAa,EACb,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,IAAI,EACT,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,2BAA2B,EAC3B,sBAAsB,EACtB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EACL,QAAQ,EACR,eAAe,EACf,MAAM,EACN,mBAAmB,EACnB,KAAK,eAAe,EACpB,mBAAmB,EACnB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,UAAU,EAAE,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/E,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EACL,YAAY,EACZ,UAAU,EACV,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,UAAU,EACf,WAAW,EACX,KAAK,SAAS,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,UAAU,EAAE,QAAQ,EAAE,KAAK,GAAG,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  */
7
7
  export { applyBaseline, fingerprint, parseBaseline, plainMessage, writeBaseline, } from "./baseline.js";
8
8
  export { checkBoundaries, checkUnclassified } from "./boundaries.js";
9
- export { checkArchitecture, REVIEW_REQUIRED, } from "./check.js";
9
+ export { checkArchitecture, ownershipReport, REVIEW_REQUIRED, } from "./check.js";
10
10
  export { checkClaims } from "./claims.js";
11
11
  export { ARCHITECTURE_CONFIG_PATH, DEFAULT_ARCHITECTURE_CONFIG, readArchitectureConfig, resolveConfig, } from "./config.js";
12
12
  export { checkDependencies, shortestCycle, stronglyConnected } from "./dependencies.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,aAAa,EAEb,WAAW,EAEX,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAuB,eAAe,EAAE,iBAAiB,EAAkB,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAIL,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,wBAAwB,EAExB,2BAA2B,EAC3B,sBAAsB,EACtB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EACL,QAAQ,EACR,eAAe,EACf,MAAM,EACN,mBAAmB,EAEnB,mBAAmB,EACnB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAmB,cAAc,EAAkB,MAAM,cAAc,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAA4D,MAAM,cAAc,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EACL,YAAY,EACZ,UAAU,EAIV,WAAW,GAEZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAmB,QAAQ,EAAY,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAiB,SAAS,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,aAAa,EAEb,WAAW,EAEX,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAuB,eAAe,EAAE,iBAAiB,EAAkB,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAIL,iBAAiB,EACjB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,wBAAwB,EAExB,2BAA2B,EAC3B,sBAAsB,EACtB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EACL,QAAQ,EACR,eAAe,EACf,MAAM,EACN,mBAAmB,EAEnB,mBAAmB,EACnB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAmB,cAAc,EAAkB,MAAM,cAAc,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAA4D,MAAM,cAAc,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EACL,YAAY,EACZ,UAAU,EAIV,WAAW,GAEZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAmB,QAAQ,EAAY,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAiB,SAAS,EAAE,MAAM,eAAe,CAAC"}
@@ -10,7 +10,9 @@
10
10
  * inside one of the slice's own source claims, and no two lie in the same
11
11
  * package (the nearest directory above holding a package.json, or the
12
12
  * repository root): a slice has one public surface per package it spans. An
13
- * empty entrypoint module is allowed for a leaf.
13
+ * empty entrypoint module is allowed for a leaf. While the slice is draft, an
14
+ * entrypoint that is not a file yet is a warning: planned, not yet owned
15
+ * (VSA §3).
14
16
  *
15
17
  * VSA012 (deleting or splitting a slice dispositions its behavior, paths and
16
18
  * contracts) is a diff between two snapshots. This check sees one snapshot,
@@ -1 +1 @@
1
- {"version":3,"file":"ownership.d.ts","sourceRoot":"","sources":["../src/ownership.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAY,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAE,KAAK,OAAO,EAAW,MAAM,cAAc,CAAC;AAErD,OAAO,EAAmB,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAI3D,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,EAAE,CA0GlF"}
1
+ {"version":3,"file":"ownership.d.ts","sourceRoot":"","sources":["../src/ownership.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAY,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE9D,OAAO,EAAE,KAAK,OAAO,EAAW,MAAM,cAAc,CAAC;AAErD,OAAO,EAAmB,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAI3D,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,EAAE,CA8GlF"}
package/dist/ownership.js CHANGED
@@ -67,12 +67,16 @@ export function checkOwnership(model, graph, level) {
67
67
  else
68
68
  byPackage.set(pkg, entrypoint);
69
69
  if (!model.files.has(entrypoint)) {
70
+ const planned = slice.artifact.meta.status === "draft";
70
71
  findings.push(finding({
71
72
  code: "VSA002",
73
+ ...(planned ? { severity: "warning" } : {}),
72
74
  artifact: slice.id,
73
75
  path: slice.path,
74
76
  field,
75
- message: `The entrypoint ${entrypoint} of ${slice.id} is not a file in the repository.`,
77
+ message: planned
78
+ ? `The entrypoint ${entrypoint} of draft slice ${slice.id} is not a file yet; it is planned, and an error once the slice leaves draft.`
79
+ : `The entrypoint ${entrypoint} of ${slice.id} is not a file in the repository.`,
76
80
  remediation: "Create the entrypoint, empty if the slice exposes nothing yet, or correct the path (VSA002).",
77
81
  paths: [entrypoint],
78
82
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"ownership.js","sourceRoot":"","sources":["../src/ownership.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ownership.js","sourceRoot":"","sources":["../src/ownership.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAgB,OAAO,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAc,MAAM,cAAc,CAAC;AAE3D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;AAEtF,MAAM,UAAU,cAAc,CAAC,KAAY,EAAE,KAAY,EAAE,KAAY;IACrE,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;aAC5C,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACnG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;iBACpC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;iBAC5C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC7C,MAAM,CAAC,CAAC,KAAK,EAAqB,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC;iBAC3E,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC7B,IAAI,CAAC,cAAc,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAClC,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,EAAE;gBACZ,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EACL,MAAM,CAAC,MAAM,KAAK,CAAC;oBACjB,CAAC,CAAC,YAAY,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,sCAAsC;oBACjF,CAAC,CAAC,YAAY,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,QAAQ,MAAM,CAAC,MAAM,iCAAiC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACzH,WAAW,EACT,MAAM,CAAC,MAAM,KAAK,CAAC;oBACjB,CAAC,CAAC,8GAA8G;oBAChH,CAAC,CAAC,+GAA+G;gBACrH,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC;gBAC9D,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;aACxD,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,kGAAkG;QAClG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;YAC/C,MAAM,KAAK,GAAG,gCAAgC,CAAC,EAAE,CAAC;YAClD,IAAI,UAAU,KAAK,EAAE,IAAI,eAAe,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1F,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;oBACN,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK;oBACL,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,6BAA6B,UAAU,oDAAoD;oBAC/G,WAAW,EACT,iHAAiH;iBACpH,CAAC,CACH,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;oBACN,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK;oBACL,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,gCAAgC,eAAe,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,UAAU,wDAAwD;oBAC5J,WAAW,EAAE,eAAe,UAAU,gBAAgB,KAAK,kFAAkF;oBAC7I,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC;iBAC3B,CAAC,CACH,CAAC;YACJ,CAAC;;gBAAM,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC;gBACvD,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;oBACN,IAAI,EAAE,QAAQ;oBACd,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpD,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK;oBACL,OAAO,EAAE,OAAO;wBACd,CAAC,CAAC,kBAAkB,UAAU,mBAAmB,KAAK,CAAC,EAAE,8EAA8E;wBACvI,CAAC,CAAC,kBAAkB,UAAU,OAAO,KAAK,CAAC,EAAE,mCAAmC;oBAClF,WAAW,EAAE,8FAA8F;oBAC3G,KAAK,EAAE,CAAC,UAAU,CAAC;iBACpB,CAAC,CACH,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAClC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CACX,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CACtG,CAAC;YACF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CACX,OAAO,CAAC;oBACN,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK;oBACL,OAAO,EAAE,kBAAkB,UAAU,OAAO,KAAK,CAAC,EAAE,gDAAgD;oBACpG,WAAW,EAAE,8FAA8F;oBAC3G,KAAK,EAAE,CAAC,UAAU,CAAC;iBACpB,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentset/architecture",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Traceable VSA checks: path claims, import graph, layer matrix, resources, exceptions, baseline.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -28,7 +28,7 @@
28
28
  }
29
29
  },
30
30
  "dependencies": {
31
- "@intentset/core": "^0.1.0"
31
+ "@intentset/core": "^0.2.0"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "typescript": "^7.0.2"
package/src/check.ts CHANGED
@@ -11,7 +11,15 @@
11
11
  * migration mode. What could not be checked is listed in `unresolved` and,
12
12
  * for imports, reported as a TS004 warning: never a pass (invariant 6).
13
13
  */
14
- import { type Diagnostic, type Graph, type Level, type Registries, sortDiagnostics } from "@intentset/core";
14
+ import {
15
+ type Diagnostic,
16
+ type Graph,
17
+ type Level,
18
+ type OwnershipEntry,
19
+ type OwnershipReportSection,
20
+ type Registries,
21
+ sortDiagnostics,
22
+ } from "@intentset/core";
15
23
  import { applyBaseline, type BaselineEntry, type Mode } from "./baseline.ts";
16
24
  import { checkBoundaries, checkUnclassified } from "./boundaries.ts";
17
25
  import { checkClaims } from "./claims.ts";
@@ -76,6 +84,14 @@ export interface ArchitectureResult {
76
84
  summary: ArchitectureSummary;
77
85
  /** The resolved import graph, for reports and impact views. */
78
86
  edges: ImportEdge[];
87
+ /**
88
+ * Where every file falls, sorted by path: each production file's region and
89
+ * owner, every test file with the slice its claims match, and nothing for a
90
+ * file in the external region (root configuration, scripts, documents that
91
+ * nothing claims). Out-of-scope files are attributed too: scope decides what
92
+ * is reported, not who owns what.
93
+ */
94
+ ownership: OwnershipEntry[];
79
95
  }
80
96
 
81
97
  /** VSA §2: the rules that are review assertions, snapshot diffs or contract diffs rather than structure. */
@@ -193,5 +209,33 @@ export function checkArchitecture(
193
209
  unresolved: [...new Set(unresolved)].sort(compareStrings),
194
210
  reviewRequired: [...REVIEW_REQUIRED],
195
211
  };
196
- return { diagnostics, summary, edges: imports.edges };
212
+ const ownership: OwnershipEntry[] = [];
213
+ for (const path of model.files.keys()) {
214
+ if (model.isTest(path)) {
215
+ ownership.push({ path, region: "test", owner: model.testOwner(path) });
216
+ continue;
217
+ }
218
+ const region = model.regionOf(path);
219
+ if (region.kind === "external") continue;
220
+ ownership.push({ path, region: region.kind, owner: region.owner ?? null });
221
+ }
222
+ ownership.sort((a, b) => compareStrings(a.path, b.path));
223
+ return { diagnostics, summary, edges: imports.edges, ownership };
224
+ }
225
+
226
+ /**
227
+ * `reports.ownership` for the export (spec/export.md §4.4): the check's file
228
+ * attribution, stamped with the snapshot it was read at, so a consumer can
229
+ * turn a file from a stack frame into a slice, its behaviors and its owner.
230
+ */
231
+ export function ownershipReport(
232
+ result: ArchitectureResult,
233
+ snapshot: { commit: string | null; graphHash: string },
234
+ ): OwnershipReportSection {
235
+ return {
236
+ commit: snapshot.commit,
237
+ graphHash: snapshot.graphHash,
238
+ files: result.ownership.map((entry) => ({ ...entry })),
239
+ withheld: 0,
240
+ };
197
241
  }
package/src/claims.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Path and resource ownership (VSA §3, §7; VSA009; profile AMP004).
3
3
  *
4
- * - A nonempty claim that matches no file is VSA009.
4
+ * - A nonempty claim that matches no file is VSA009: a warning while the
5
+ * slice is draft (planned, not yet owned), an error once it is not.
5
6
  * - Two slices resolving one file is VSA009, once per pair of claims, naming
6
7
  * both slices, both claims and the files.
7
8
  * - A file claimed by a slice and recorded as a registry resource has two
@@ -46,13 +47,17 @@ export function checkClaims(model: Model, graph: Graph, registriesPath: string):
46
47
  return;
47
48
  }
48
49
  if (slice.claimFiles[i].length === 0) {
50
+ const planned = slice.artifact.meta.status === "draft";
49
51
  findings.push(
50
52
  finding({
51
53
  code: "VSA009",
54
+ ...(planned ? { severity: "warning" as const } : {}),
52
55
  artifact: slice.id,
53
56
  path: slice.path,
54
57
  field,
55
- message: `The ${claim.kind} claim ${claim.path} of ${slice.id} matches no file in the repository.`,
58
+ message: planned
59
+ ? `The ${claim.kind} claim ${claim.path} of draft slice ${slice.id} matches no file yet; it is planned, and an error once the slice leaves draft.`
60
+ : `The ${claim.kind} claim ${claim.path} of ${slice.id} matches no file in the repository.`,
56
61
  remediation:
57
62
  "Correct the path, add the files it promises, or remove the claim; an empty claim is not ownership (VSA §3).",
58
63
  }),
package/src/index.ts CHANGED
@@ -19,6 +19,7 @@ export {
19
19
  type ArchitectureSummary,
20
20
  type CheckOptions,
21
21
  checkArchitecture,
22
+ ownershipReport,
22
23
  REVIEW_REQUIRED,
23
24
  } from "./check.ts";
24
25
  export { checkClaims } from "./claims.ts";
package/src/ownership.ts CHANGED
@@ -10,7 +10,9 @@
10
10
  * inside one of the slice's own source claims, and no two lie in the same
11
11
  * package (the nearest directory above holding a package.json, or the
12
12
  * repository root): a slice has one public surface per package it spans. An
13
- * empty entrypoint module is allowed for a leaf.
13
+ * empty entrypoint module is allowed for a leaf. While the slice is draft, an
14
+ * entrypoint that is not a file yet is a warning: planned, not yet owned
15
+ * (VSA §3).
14
16
  *
15
17
  * VSA012 (deleting or splitting a slice dispositions its behavior, paths and
16
18
  * contracts) is a diff between two snapshots. This check sees one snapshot,
@@ -98,13 +100,17 @@ export function checkOwnership(model: Model, graph: Graph, level: Level): Findin
98
100
  );
99
101
  } else byPackage.set(pkg, entrypoint);
100
102
  if (!model.files.has(entrypoint)) {
103
+ const planned = slice.artifact.meta.status === "draft";
101
104
  findings.push(
102
105
  finding({
103
106
  code: "VSA002",
107
+ ...(planned ? { severity: "warning" as const } : {}),
104
108
  artifact: slice.id,
105
109
  path: slice.path,
106
110
  field,
107
- message: `The entrypoint ${entrypoint} of ${slice.id} is not a file in the repository.`,
111
+ message: planned
112
+ ? `The entrypoint ${entrypoint} of draft slice ${slice.id} is not a file yet; it is planned, and an error once the slice leaves draft.`
113
+ : `The entrypoint ${entrypoint} of ${slice.id} is not a file in the repository.`,
108
114
  remediation: "Create the entrypoint, empty if the slice exposes nothing yet, or correct the path (VSA002).",
109
115
  paths: [entrypoint],
110
116
  }),