perttool 0.10.5 → 0.11.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/CHANGELOG.md +52 -1
- package/README.md +274 -606
- package/dist/application/cli-facade.d.ts +4 -10
- package/dist/application/cli-facade.d.ts.map +1 -1
- package/dist/application/cli-facade.js +1 -1
- package/dist/application/cli-facade.js.map +1 -1
- package/dist/application/contract10-candidate.d.ts +33 -0
- package/dist/application/contract10-candidate.d.ts.map +1 -0
- package/dist/application/contract10-candidate.js +38 -0
- package/dist/application/contract10-candidate.js.map +1 -0
- package/dist/application/contract10-planning-history.d.ts +4 -0
- package/dist/application/contract10-planning-history.d.ts.map +1 -0
- package/dist/application/contract10-planning-history.js +28 -0
- package/dist/application/contract10-planning-history.js.map +1 -0
- package/dist/application/contract10-planning.d.ts +61 -0
- package/dist/application/contract10-planning.d.ts.map +1 -0
- package/dist/application/contract10-planning.js +165 -0
- package/dist/application/contract10-planning.js.map +1 -0
- package/dist/application/contract10-runtime.d.ts +185 -0
- package/dist/application/contract10-runtime.d.ts.map +1 -0
- package/dist/application/contract10-runtime.js +236 -0
- package/dist/application/contract10-runtime.js.map +1 -0
- package/dist/application/contract8-milestone-acceptance.d.ts +6 -22
- package/dist/application/contract8-milestone-acceptance.d.ts.map +1 -1
- package/dist/application/contract8-milestone-acceptance.js +21 -99
- package/dist/application/contract8-milestone-acceptance.js.map +1 -1
- package/dist/application/contract8-milestone-read.d.ts +25 -0
- package/dist/application/contract8-milestone-read.d.ts.map +1 -0
- package/dist/application/contract8-milestone-read.js +111 -0
- package/dist/application/contract8-milestone-read.js.map +1 -0
- package/dist/application/contract9-assurance-evaluate.d.ts +3 -0
- package/dist/application/contract9-assurance-evaluate.d.ts.map +1 -0
- package/dist/application/contract9-assurance-evaluate.js +75 -0
- package/dist/application/contract9-assurance-evaluate.js.map +1 -0
- package/dist/application/contract9-assurance.d.ts +1 -2
- package/dist/application/contract9-assurance.d.ts.map +1 -1
- package/dist/application/contract9-assurance.js +2 -56
- package/dist/application/contract9-assurance.js.map +1 -1
- package/dist/application/contract9-candidate.d.ts +8 -0
- package/dist/application/contract9-candidate.d.ts.map +1 -1
- package/dist/application/contract9-candidate.js +36 -11
- package/dist/application/contract9-candidate.js.map +1 -1
- package/dist/application/contract9-mixed-mutation.d.ts +3 -0
- package/dist/application/contract9-mixed-mutation.d.ts.map +1 -1
- package/dist/application/contract9-mixed-mutation.js +5 -4
- package/dist/application/contract9-mixed-mutation.js.map +1 -1
- package/dist/application/contract9-temporal.js +1 -1
- package/dist/application/contract9-temporal.js.map +1 -1
- package/dist/application/target-actuals-analysis.d.ts.map +1 -1
- package/dist/application/target-actuals-analysis.js +10 -6
- package/dist/application/target-actuals-analysis.js.map +1 -1
- package/dist/application/target-temporal-analysis.d.ts +1 -0
- package/dist/application/target-temporal-analysis.d.ts.map +1 -1
- package/dist/application/target-temporal-analysis.js +5 -1
- package/dist/application/target-temporal-analysis.js.map +1 -1
- package/dist/cli.js +761 -87
- package/dist/cli.js.map +1 -1
- package/dist/command/contract10-discovery.d.ts +17 -0
- package/dist/command/contract10-discovery.d.ts.map +1 -0
- package/dist/command/contract10-discovery.js +304 -0
- package/dist/command/contract10-discovery.js.map +1 -0
- package/dist/command/contract10-usage.d.ts +24 -0
- package/dist/command/contract10-usage.d.ts.map +1 -0
- package/dist/command/contract10-usage.js +49 -0
- package/dist/command/contract10-usage.js.map +1 -0
- package/dist/core/index.d.ts +11 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +3 -1
- package/dist/core/index.js.map +1 -1
- package/dist/help/assurance-guide.js +1 -1
- package/dist/help/assurance-guide.js.map +1 -1
- package/dist/help/contract10-guide.d.ts +10 -0
- package/dist/help/contract10-guide.d.ts.map +1 -0
- package/dist/help/contract10-guide.js +244 -0
- package/dist/help/contract10-guide.js.map +1 -0
- package/dist/index.d.ts +18 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/milestone-acceptance/advance.d.ts +9 -0
- package/dist/milestone-acceptance/advance.d.ts.map +1 -1
- package/dist/milestone-acceptance/advance.js +29 -2
- package/dist/milestone-acceptance/advance.js.map +1 -1
- package/dist/milestone-acceptance/mutation.d.ts +2 -0
- package/dist/milestone-acceptance/mutation.d.ts.map +1 -1
- package/dist/milestone-acceptance/mutation.js +60 -20
- package/dist/milestone-acceptance/mutation.js.map +1 -1
- package/dist/model/source-result.d.ts +12 -0
- package/dist/model/source-result.d.ts.map +1 -0
- package/dist/model/source-result.js +16 -0
- package/dist/model/source-result.js.map +1 -0
- package/dist/mutation/advance-deletion.d.ts +1 -0
- package/dist/mutation/advance-deletion.d.ts.map +1 -1
- package/dist/mutation/advance-deletion.js +4 -1
- package/dist/mutation/advance-deletion.js.map +1 -1
- package/dist/mutation/validated-source.d.ts +30 -0
- package/dist/mutation/validated-source.d.ts.map +1 -0
- package/dist/mutation/validated-source.js +58 -0
- package/dist/mutation/validated-source.js.map +1 -0
- package/dist/node/planning-token-store.d.ts +3 -0
- package/dist/node/planning-token-store.d.ts.map +1 -0
- package/dist/node/planning-token-store.js +90 -0
- package/dist/node/planning-token-store.js.map +1 -0
- package/dist/parser/document-parser.d.ts +1 -0
- package/dist/parser/document-parser.d.ts.map +1 -1
- package/dist/parser/document-parser.js +1 -1
- package/dist/parser/document-parser.js.map +1 -1
- package/dist/perttool-vscode-private-0.0.0-d1578b9.vsix +0 -0
- package/dist/planning-pool/advance.d.ts +10 -0
- package/dist/planning-pool/advance.d.ts.map +1 -0
- package/dist/planning-pool/advance.js +158 -0
- package/dist/planning-pool/advance.js.map +1 -0
- package/dist/planning-pool/format.d.ts +12 -0
- package/dist/planning-pool/format.d.ts.map +1 -0
- package/dist/planning-pool/format.js +199 -0
- package/dist/planning-pool/format.js.map +1 -0
- package/dist/planning-pool/history-guard.d.ts +19 -0
- package/dist/planning-pool/history-guard.d.ts.map +1 -0
- package/dist/planning-pool/history-guard.js +123 -0
- package/dist/planning-pool/history-guard.js.map +1 -0
- package/dist/planning-pool/history-types.d.ts +174 -0
- package/dist/planning-pool/history-types.d.ts.map +1 -0
- package/dist/planning-pool/history-types.js +2 -0
- package/dist/planning-pool/history-types.js.map +1 -0
- package/dist/planning-pool/history.d.ts +11 -0
- package/dist/planning-pool/history.d.ts.map +1 -0
- package/dist/planning-pool/history.js +977 -0
- package/dist/planning-pool/history.js.map +1 -0
- package/dist/planning-pool/human.d.ts +9 -0
- package/dist/planning-pool/human.d.ts.map +1 -0
- package/dist/planning-pool/human.js +305 -0
- package/dist/planning-pool/human.js.map +1 -0
- package/dist/planning-pool/intent-types.d.ts +76 -0
- package/dist/planning-pool/intent-types.d.ts.map +1 -0
- package/dist/planning-pool/intent-types.js +2 -0
- package/dist/planning-pool/intent-types.js.map +1 -0
- package/dist/planning-pool/intent.d.ts +7 -0
- package/dist/planning-pool/intent.d.ts.map +1 -0
- package/dist/planning-pool/intent.js +590 -0
- package/dist/planning-pool/intent.js.map +1 -0
- package/dist/planning-pool/observation-types.d.ts +143 -0
- package/dist/planning-pool/observation-types.d.ts.map +1 -0
- package/dist/planning-pool/observation-types.js +2 -0
- package/dist/planning-pool/observation-types.js.map +1 -0
- package/dist/planning-pool/observation.d.ts +8 -0
- package/dist/planning-pool/observation.d.ts.map +1 -0
- package/dist/planning-pool/observation.js +582 -0
- package/dist/planning-pool/observation.js.map +1 -0
- package/dist/planning-pool/projection.d.ts +28 -0
- package/dist/planning-pool/projection.d.ts.map +1 -0
- package/dist/planning-pool/projection.js +148 -0
- package/dist/planning-pool/projection.js.map +1 -0
- package/dist/planning-pool/public-core.d.ts +32 -0
- package/dist/planning-pool/public-core.d.ts.map +1 -0
- package/dist/planning-pool/public-core.js +122 -0
- package/dist/planning-pool/public-core.js.map +1 -0
- package/dist/planning-pool/reshape-normalize.d.ts +15 -0
- package/dist/planning-pool/reshape-normalize.d.ts.map +1 -0
- package/dist/planning-pool/reshape-normalize.js +688 -0
- package/dist/planning-pool/reshape-normalize.js.map +1 -0
- package/dist/planning-pool/reshape-token.d.ts +20 -0
- package/dist/planning-pool/reshape-token.d.ts.map +1 -0
- package/dist/planning-pool/reshape-token.js +193 -0
- package/dist/planning-pool/reshape-token.js.map +1 -0
- package/dist/planning-pool/reshape-types.d.ts +183 -0
- package/dist/planning-pool/reshape-types.d.ts.map +1 -0
- package/dist/planning-pool/reshape-types.js +2 -0
- package/dist/planning-pool/reshape-types.js.map +1 -0
- package/dist/planning-pool/reshape.d.ts +13 -0
- package/dist/planning-pool/reshape.d.ts.map +1 -0
- package/dist/planning-pool/reshape.js +1434 -0
- package/dist/planning-pool/reshape.js.map +1 -0
- package/dist/planning-pool/source-lexical.d.ts +30 -0
- package/dist/planning-pool/source-lexical.d.ts.map +1 -0
- package/dist/planning-pool/source-lexical.js +158 -0
- package/dist/planning-pool/source-lexical.js.map +1 -0
- package/dist/planning-pool/source-types.d.ts +169 -0
- package/dist/planning-pool/source-types.d.ts.map +1 -0
- package/dist/planning-pool/source-types.js +2 -0
- package/dist/planning-pool/source-types.js.map +1 -0
- package/dist/planning-pool/source-values.d.ts +16 -0
- package/dist/planning-pool/source-values.d.ts.map +1 -0
- package/dist/planning-pool/source-values.js +120 -0
- package/dist/planning-pool/source-values.js.map +1 -0
- package/dist/planning-pool/source.d.ts +18 -0
- package/dist/planning-pool/source.d.ts.map +1 -0
- package/dist/planning-pool/source.js +811 -0
- package/dist/planning-pool/source.js.map +1 -0
- package/dist/planning-pool/window-types.d.ts +133 -0
- package/dist/planning-pool/window-types.d.ts.map +1 -0
- package/dist/planning-pool/window-types.js +2 -0
- package/dist/planning-pool/window-types.js.map +1 -0
- package/dist/planning-pool/window.d.ts +6 -0
- package/dist/planning-pool/window.d.ts.map +1 -0
- package/dist/planning-pool/window.js +625 -0
- package/dist/planning-pool/window.js.map +1 -0
- package/dist/schema/registry.d.ts +1 -1
- package/dist/schema/registry.d.ts.map +1 -1
- package/dist/schema/registry.js +17 -3
- package/dist/schema/registry.js.map +1 -1
- package/dist/temporal-schedule/format.d.ts.map +1 -1
- package/dist/temporal-schedule/format.js +4 -54
- package/dist/temporal-schedule/format.js.map +1 -1
- package/dist/temporal-schedule/source-lexical.d.ts +9 -0
- package/dist/temporal-schedule/source-lexical.d.ts.map +1 -1
- package/dist/temporal-schedule/source-lexical.js +21 -10
- package/dist/temporal-schedule/source-lexical.js.map +1 -1
- package/dist/temporal-schedule/source.d.ts.map +1 -1
- package/dist/temporal-schedule/source.js +3 -13
- package/dist/temporal-schedule/source.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/schemas/{Perttool.AdvanceResult.v3.schema.json → Perttool.AdvanceResult.v4.schema.json} +42 -4
- package/schemas/Perttool.AgentGuidanceResult.v1.schema.json +1 -1
- package/schemas/Perttool.AnalysisResult.v7.schema.json +1 -1
- package/schemas/Perttool.CheckResult.v6.schema.json +1 -1
- package/schemas/Perttool.CliError.v1.schema.json +1 -1
- package/schemas/Perttool.CommandHelpResult.v1.schema.json +2 -2
- package/schemas/Perttool.ExportResult.v1.schema.json +1 -1
- package/schemas/Perttool.FormatResult.v1.schema.json +1 -1
- package/schemas/Perttool.GuideResult.v1.schema.json +1 -1
- package/schemas/Perttool.HistoricalGraphResult.v1.schema.json +1 -1
- package/schemas/Perttool.ImportResult.v1.schema.json +1 -1
- package/schemas/Perttool.InitResult.v1.schema.json +1 -1
- package/schemas/Perttool.MilestoneAcceptanceMigrationResult.v1.schema.json +1 -1
- package/schemas/Perttool.MilestoneAcceptanceResult.v1.schema.json +1 -1
- package/schemas/Perttool.MutationResult.v6.schema.json +1 -1
- package/schemas/Perttool.NextResult.v8.schema.json +7 -4
- package/schemas/Perttool.PlanAssuranceResult.v2.schema.json +1 -1
- package/schemas/Perttool.PlanningMutationResult.v1.schema.json +567 -0
- package/schemas/Perttool.PlanningObservationRequest.v1.schema.json +6 -0
- package/schemas/Perttool.PlanningPoolResult.v1.schema.json +469 -0
- package/schemas/Perttool.PlanningReshapePreflightResult.v1.schema.json +906 -0
- package/schemas/Perttool.PlanningReshapeRequest.v1.schema.json +19 -0
- package/schemas/Perttool.ProjectHistoryResult.v1.schema.json +1 -1
- package/schemas/Perttool.ProjectResult.v5.schema.json +1 -1
- package/schemas/Perttool.SchemaResult.v1.schema.json +1 -1
- package/schemas/{Perttool.UnitMigrationResult.v4.schema.json → Perttool.UnitMigrationResult.v5.schema.json} +42 -17
- package/schemas/Perttool.VelocityObservationResult.v1.schema.json +1 -1
- package/schemas/Perttool.WindowMutationRequest.v1.schema.json +6 -0
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/mako10k/perttool/schemas/Perttool.PlanningPoolResult.v1.schema.json",
|
|
4
|
+
"title": "Perttool.PlanningPoolResult.v1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["schema_version", "cli_contract_version", "tool_version", "operation", "ok", "document_id", "source", "source_digest", "diagnostics"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"schema_version": { "const": "Perttool.PlanningPoolResult.v1" },
|
|
9
|
+
"cli_contract_version": { "const": 10 },
|
|
10
|
+
"tool_version": { "type": "string" },
|
|
11
|
+
"operation": { "enum": ["work.list", "work.show", "work.observe", "event.list", "event.show", "activity.list", "activity.show", "window.list", "window.show", "window.observe"] },
|
|
12
|
+
"ok": { "type": "boolean" },
|
|
13
|
+
"document_id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
14
|
+
"source": { "type": "string" },
|
|
15
|
+
"source_digest": { "$ref": "Perttool.Common.v1.schema.json#/$defs/digest" },
|
|
16
|
+
"diagnostics": { "$ref": "Perttool.Common.v1.schema.json#/$defs/diagnostics" },
|
|
17
|
+
"query": { "$ref": "#/$defs/query" },
|
|
18
|
+
"work_order": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
19
|
+
"works": { "type": "array", "items": { "oneOf": [{ "$ref": "#/$defs/workSource" }, { "$ref": "#/$defs/workObservation" }] } },
|
|
20
|
+
"events": { "type": "array", "items": { "$ref": "#/$defs/eventSource" } },
|
|
21
|
+
"activities": { "type": "array", "items": { "$ref": "#/$defs/activitySource" } },
|
|
22
|
+
"windows": { "type": "array", "items": { "$ref": "#/$defs/windowSource" } },
|
|
23
|
+
"observation_capability": { "const": "perttool.planning-observation-core@1" },
|
|
24
|
+
"history_capability": { "const": "perttool.planning-history-core@1" },
|
|
25
|
+
"normalized_request": { "oneOf": [{ "$ref": "#/$defs/request" }, { "type": "null" }] },
|
|
26
|
+
"evidence": { "oneOf": [{ "$ref": "#/$defs/currentEvidence" }, { "$ref": "#/$defs/historicalEvidence" }] },
|
|
27
|
+
"selected_work_order": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
28
|
+
"window": { "oneOf": [{ "$ref": "#/$defs/windowObservation" }, { "type": "null" }] },
|
|
29
|
+
"membership_occurrences": { "type": "array", "items": { "$ref": "#/$defs/membership" } },
|
|
30
|
+
"aggregates": { "$ref": "#/$defs/aggregates" },
|
|
31
|
+
"global_execution": { "$ref": "#/$defs/globalExecution" },
|
|
32
|
+
"current": { "$ref": "#/$defs/currentAuthority" },
|
|
33
|
+
"axis_states": { "$ref": "#/$defs/axisStates" },
|
|
34
|
+
"snapshots": { "type": "array", "items": { "$ref": "#/$defs/snapshot" } },
|
|
35
|
+
"lineage": { "oneOf": [{ "$ref": "#/$defs/lineage" }, { "type": "null" }] }
|
|
36
|
+
},
|
|
37
|
+
"oneOf": [
|
|
38
|
+
{
|
|
39
|
+
"required": ["query", "work_order", "works", "events", "activities", "windows"],
|
|
40
|
+
"properties": {
|
|
41
|
+
"operation": { "enum": ["work.list", "work.show", "event.list", "event.show", "activity.list", "activity.show", "window.list", "window.show"] },
|
|
42
|
+
"query": {}, "work_order": {}, "works": {}, "events": {}, "activities": {}, "windows": {}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"required": ["observation_capability", "normalized_request", "evidence", "selected_work_order", "works", "window", "membership_occurrences", "aggregates", "global_execution"],
|
|
47
|
+
"properties": {
|
|
48
|
+
"operation": { "enum": ["work.observe", "window.observe"] },
|
|
49
|
+
"observation_capability": {}, "normalized_request": {},
|
|
50
|
+
"evidence": { "$ref": "#/$defs/currentEvidence" },
|
|
51
|
+
"selected_work_order": {}, "works": {}, "window": {},
|
|
52
|
+
"membership_occurrences": {}, "aggregates": {}, "global_execution": {}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"required": ["history_capability", "normalized_request", "current", "evidence", "axis_states", "snapshots", "lineage"],
|
|
57
|
+
"properties": {
|
|
58
|
+
"operation": { "enum": ["work.observe", "window.observe"] },
|
|
59
|
+
"history_capability": {}, "normalized_request": {}, "current": {},
|
|
60
|
+
"evidence": { "$ref": "#/$defs/historicalEvidence" },
|
|
61
|
+
"axis_states": {}, "snapshots": {}, "lineage": {}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"additionalProperties": false,
|
|
66
|
+
"$defs": {
|
|
67
|
+
"query": {
|
|
68
|
+
"type": "object", "required": ["id"],
|
|
69
|
+
"properties": { "id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" } },
|
|
70
|
+
"additionalProperties": false
|
|
71
|
+
},
|
|
72
|
+
"reference": {
|
|
73
|
+
"type": "object", "required": ["id", "qualified_id", "span"],
|
|
74
|
+
"properties": { "id": { "type": "string" }, "qualified_id": { "type": "string" }, "span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" } },
|
|
75
|
+
"additionalProperties": false
|
|
76
|
+
},
|
|
77
|
+
"description": {
|
|
78
|
+
"type": "object", "required": ["value", "style", "span", "content_span"],
|
|
79
|
+
"properties": {
|
|
80
|
+
"value": { "type": "string" }, "style": { "enum": ["quoted", "block"] },
|
|
81
|
+
"span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" },
|
|
82
|
+
"content_span": { "oneOf": [{ "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }, { "type": "null" }] }
|
|
83
|
+
},
|
|
84
|
+
"additionalProperties": false
|
|
85
|
+
},
|
|
86
|
+
"workSource": {
|
|
87
|
+
"type": "object",
|
|
88
|
+
"required": ["kind", "id", "qualified_id", "title", "description", "events", "activities", "milestone_links", "task_links", "depends_on", "span", "id_span", "title_span"],
|
|
89
|
+
"properties": {
|
|
90
|
+
"kind": { "const": "work" }, "id": { "type": "string" }, "qualified_id": { "type": "string" }, "title": { "type": "string" },
|
|
91
|
+
"description": { "oneOf": [{ "$ref": "#/$defs/description" }, { "type": "null" }] },
|
|
92
|
+
"events": { "$ref": "#/$defs/references" }, "activities": { "$ref": "#/$defs/references" },
|
|
93
|
+
"milestone_links": { "$ref": "#/$defs/references" }, "task_links": { "$ref": "#/$defs/references" }, "depends_on": { "$ref": "#/$defs/references" },
|
|
94
|
+
"span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }, "id_span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }, "title_span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }
|
|
95
|
+
},
|
|
96
|
+
"additionalProperties": false
|
|
97
|
+
},
|
|
98
|
+
"eventSource": {
|
|
99
|
+
"type": "object",
|
|
100
|
+
"required": ["kind", "id", "qualified_id", "title", "description", "tags", "source", "span", "id_span", "title_span"],
|
|
101
|
+
"properties": {
|
|
102
|
+
"kind": { "const": "event" }, "id": { "type": "string" }, "qualified_id": { "type": "string" }, "title": { "type": "string" },
|
|
103
|
+
"description": { "oneOf": [{ "$ref": "#/$defs/description" }, { "type": "null" }] },
|
|
104
|
+
"tags": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "source": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
105
|
+
"span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }, "id_span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }, "title_span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }
|
|
106
|
+
},
|
|
107
|
+
"additionalProperties": false
|
|
108
|
+
},
|
|
109
|
+
"durationSource": {
|
|
110
|
+
"type": "object", "required": ["source_text", "value", "unit", "span"],
|
|
111
|
+
"properties": {
|
|
112
|
+
"source_text": { "type": "string" }, "value": { "$ref": "Perttool.Common.v1.schema.json#/$defs/rational" },
|
|
113
|
+
"unit": { "enum": ["day", "hour", "point"] }, "span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }
|
|
114
|
+
}, "additionalProperties": false
|
|
115
|
+
},
|
|
116
|
+
"estimateSource": {
|
|
117
|
+
"type": "object", "required": ["optimistic", "most_likely", "pessimistic", "span"],
|
|
118
|
+
"properties": {
|
|
119
|
+
"optimistic": { "$ref": "#/$defs/durationSource" }, "most_likely": { "$ref": "#/$defs/durationSource" },
|
|
120
|
+
"pessimistic": { "$ref": "#/$defs/durationSource" }, "span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }
|
|
121
|
+
}, "additionalProperties": false
|
|
122
|
+
},
|
|
123
|
+
"requirementSource": {
|
|
124
|
+
"type": "object", "required": ["resource_id", "qualified_resource_id", "units", "span"],
|
|
125
|
+
"properties": {
|
|
126
|
+
"resource_id": { "type": "string" }, "qualified_resource_id": { "type": "string" },
|
|
127
|
+
"units": { "type": "integer", "minimum": 1 }, "span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }
|
|
128
|
+
}, "additionalProperties": false
|
|
129
|
+
},
|
|
130
|
+
"instantSource": {
|
|
131
|
+
"type": "object", "required": ["source_text", "instant_seconds", "offset_minutes", "span"],
|
|
132
|
+
"properties": {
|
|
133
|
+
"source_text": { "type": "string" }, "instant_seconds": { "$ref": "Perttool.Common.v1.schema.json#/$defs/rational" },
|
|
134
|
+
"offset_minutes": { "type": "integer", "minimum": -1439, "maximum": 1439 }, "span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }
|
|
135
|
+
}, "additionalProperties": false
|
|
136
|
+
},
|
|
137
|
+
"whenSource": {
|
|
138
|
+
"type": "object", "required": ["event", "direction", "value", "span"],
|
|
139
|
+
"properties": {
|
|
140
|
+
"event": { "enum": ["start", "finish"] }, "direction": { "enum": ["earliest", "latest"] },
|
|
141
|
+
"value": { "$ref": "#/$defs/instantSource" }, "span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }
|
|
142
|
+
}, "additionalProperties": false
|
|
143
|
+
},
|
|
144
|
+
"activitySource": {
|
|
145
|
+
"type": "object",
|
|
146
|
+
"required": ["kind", "id", "qualified_id", "from", "to", "title", "description", "duration", "estimate", "priority", "requirements", "owner", "tags", "source", "calendar_id", "when", "deadline", "span", "id_span", "title_span"],
|
|
147
|
+
"properties": {
|
|
148
|
+
"kind": { "const": "activity" }, "id": { "type": "string" }, "qualified_id": { "type": "string" },
|
|
149
|
+
"from": { "$ref": "#/$defs/reference" }, "to": { "$ref": "#/$defs/reference" }, "title": { "type": "string" },
|
|
150
|
+
"description": { "oneOf": [{ "$ref": "#/$defs/description" }, { "type": "null" }] },
|
|
151
|
+
"duration": { "oneOf": [{ "$ref": "#/$defs/durationSource" }, { "type": "null" }] },
|
|
152
|
+
"estimate": { "oneOf": [{ "$ref": "#/$defs/estimateSource" }, { "type": "null" }] },
|
|
153
|
+
"priority": { "type": ["integer", "null"] }, "requirements": { "type": "array", "items": { "$ref": "#/$defs/requirementSource" } },
|
|
154
|
+
"owner": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "tags": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
155
|
+
"source": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "calendar_id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
156
|
+
"when": { "type": "array", "items": { "$ref": "#/$defs/whenSource" } }, "deadline": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableCalendarValue" },
|
|
157
|
+
"span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }, "id_span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }, "title_span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }
|
|
158
|
+
},
|
|
159
|
+
"additionalProperties": false
|
|
160
|
+
},
|
|
161
|
+
"references": { "type": "array", "items": { "$ref": "#/$defs/reference" } },
|
|
162
|
+
"windowSource": {
|
|
163
|
+
"type": "object",
|
|
164
|
+
"required": ["kind", "id", "qualified_id", "title", "objective", "start", "end", "works", "span", "id_span", "title_span", "objective_span"],
|
|
165
|
+
"properties": {
|
|
166
|
+
"kind": { "const": "window" }, "id": { "type": "string" }, "qualified_id": { "type": "string" }, "title": { "type": "string" }, "objective": { "type": "string" },
|
|
167
|
+
"start": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableCalendarValue" }, "end": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableCalendarValue" },
|
|
168
|
+
"works": { "$ref": "#/$defs/references" }, "span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" },
|
|
169
|
+
"id_span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }, "title_span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }, "objective_span": { "$ref": "Perttool.Common.v1.schema.json#/$defs/span" }
|
|
170
|
+
},
|
|
171
|
+
"additionalProperties": false
|
|
172
|
+
},
|
|
173
|
+
"selection": {
|
|
174
|
+
"oneOf": [
|
|
175
|
+
{ "$ref": "#/$defs/poolSelection" }, { "$ref": "#/$defs/workSelection" },
|
|
176
|
+
{ "$ref": "#/$defs/persistedSelection" }, { "$ref": "#/$defs/adHocSelection" }
|
|
177
|
+
]
|
|
178
|
+
},
|
|
179
|
+
"poolSelection": { "type": "object", "required": ["kind"], "properties": { "kind": { "const": "pool" } }, "additionalProperties": false },
|
|
180
|
+
"workSelection": {
|
|
181
|
+
"type": "object", "required": ["kind", "work_ids"],
|
|
182
|
+
"properties": { "kind": { "const": "work" }, "work_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" } }, "additionalProperties": false
|
|
183
|
+
},
|
|
184
|
+
"persistedSelection": {
|
|
185
|
+
"type": "object", "required": ["kind", "window_id"],
|
|
186
|
+
"properties": { "kind": { "const": "persisted" }, "window_id": { "type": "string" } }, "additionalProperties": false
|
|
187
|
+
},
|
|
188
|
+
"adHocSelection": {
|
|
189
|
+
"type": "object", "required": ["kind", "title", "objective", "start", "end", "work_ids"],
|
|
190
|
+
"properties": {
|
|
191
|
+
"kind": { "const": "ad_hoc" }, "title": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
192
|
+
"objective": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "start": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
193
|
+
"end": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "work_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }
|
|
194
|
+
}, "additionalProperties": false
|
|
195
|
+
},
|
|
196
|
+
"closeDisposition": {
|
|
197
|
+
"type": "object", "required": ["work_id", "disposition"],
|
|
198
|
+
"properties": { "work_id": { "type": "string" }, "disposition": { "enum": ["carried_over", "retained_backlog", "archive_requested"] } }, "additionalProperties": false
|
|
199
|
+
},
|
|
200
|
+
"request": {
|
|
201
|
+
"type": "object", "required": ["request_schema_version", "source_digest", "selection", "observation_at", "close_dispositions"],
|
|
202
|
+
"properties": {
|
|
203
|
+
"request_schema_version": { "const": "Perttool.PlanningObservationRequest.v1" }, "source_digest": { "$ref": "Perttool.Common.v1.schema.json#/$defs/digest" },
|
|
204
|
+
"selection": { "$ref": "#/$defs/selection" }, "observation_at": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
205
|
+
"close_dispositions": { "type": "array", "items": { "$ref": "#/$defs/closeDisposition" } }
|
|
206
|
+
}, "additionalProperties": false
|
|
207
|
+
},
|
|
208
|
+
"currentEvidence": {
|
|
209
|
+
"type": "object", "required": ["mode", "state", "source_digest", "history_requested"],
|
|
210
|
+
"properties": { "mode": { "const": "current" }, "state": { "$ref": "#/$defs/evidenceState" }, "source_digest": { "$ref": "Perttool.Common.v1.schema.json#/$defs/digest" }, "history_requested": { "const": false } },
|
|
211
|
+
"additionalProperties": false
|
|
212
|
+
},
|
|
213
|
+
"evidenceState": { "enum": ["complete", "incomplete", "unavailable"] },
|
|
214
|
+
"criterion": {
|
|
215
|
+
"type": "object",
|
|
216
|
+
"required": ["criterion_id", "required", "evidence_kind", "commitment", "state", "effective_receipt_id", "evidence_reference", "evidence_revision", "verifier", "asserted_at", "waiver_reason", "revoked_receipt_ids"],
|
|
217
|
+
"properties": {
|
|
218
|
+
"criterion_id": { "type": "string" }, "required": { "type": "boolean" }, "evidence_kind": { "type": "string" }, "commitment": { "$ref": "Perttool.Common.v1.schema.json#/$defs/digest" },
|
|
219
|
+
"state": { "enum": ["pending", "satisfied", "failed", "unavailable", "waived"] }, "effective_receipt_id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
220
|
+
"evidence_reference": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "evidence_revision": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
221
|
+
"verifier": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "asserted_at": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
222
|
+
"waiver_reason": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "revoked_receipt_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }
|
|
223
|
+
}, "additionalProperties": false
|
|
224
|
+
},
|
|
225
|
+
"taskObservation": {
|
|
226
|
+
"type": "object", "required": ["task_id", "status", "actuals_coverage", "work_event_ids", "complete", "attribution"],
|
|
227
|
+
"properties": {
|
|
228
|
+
"task_id": { "type": "string" }, "status": { "enum": ["planned", "active", "blocked", "suspended", "done"] },
|
|
229
|
+
"actuals_coverage": { "enum": ["complete", "open", "finish_only", "unrecorded", "unavailable"] }, "work_event_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
230
|
+
"complete": { "type": "boolean" }, "attribution": { "enum": ["exclusive", "non_exclusive"] }
|
|
231
|
+
}, "additionalProperties": false
|
|
232
|
+
},
|
|
233
|
+
"milestoneObservation": {
|
|
234
|
+
"type": "object", "required": ["milestone_id", "closure", "acceptance", "criteria", "evidence_complete", "attribution"],
|
|
235
|
+
"properties": {
|
|
236
|
+
"milestone_id": { "type": "string" }, "closure": { "enum": ["unreached", "reached"] }, "acceptance": { "enum": ["not_declared", "pending", "accepted", "failed", "unavailable"] },
|
|
237
|
+
"criteria": { "type": "array", "items": { "$ref": "#/$defs/criterion" } }, "evidence_complete": { "type": "boolean" }, "attribution": { "enum": ["exclusive", "non_exclusive"] }
|
|
238
|
+
}, "additionalProperties": false
|
|
239
|
+
},
|
|
240
|
+
"refinement": {
|
|
241
|
+
"type": "object", "required": ["residual_description_present", "event_ids", "activity_ids", "milestone_link_ids", "task_link_ids", "uncovered_dependency_ids"],
|
|
242
|
+
"properties": {
|
|
243
|
+
"residual_description_present": { "type": "boolean" }, "event_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
244
|
+
"activity_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "milestone_link_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
245
|
+
"task_link_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "uncovered_dependency_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }
|
|
246
|
+
}, "additionalProperties": false
|
|
247
|
+
},
|
|
248
|
+
"execution": {
|
|
249
|
+
"type": "object", "required": ["state", "activity_obligation_ids", "unprojected_activity_ids", "tasks"],
|
|
250
|
+
"properties": {
|
|
251
|
+
"state": { "enum": ["complete", "partial", "uncovered", "unknown", "unavailable"] }, "activity_obligation_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
252
|
+
"unprojected_activity_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "tasks": { "type": "array", "items": { "$ref": "#/$defs/taskObservation" } }
|
|
253
|
+
}, "additionalProperties": false
|
|
254
|
+
},
|
|
255
|
+
"outcome": {
|
|
256
|
+
"type": "object", "required": ["state", "milestones"],
|
|
257
|
+
"properties": { "state": { "$ref": "#/$defs/evidenceState" }, "milestones": { "type": "array", "items": { "$ref": "#/$defs/milestoneObservation" } } }, "additionalProperties": false
|
|
258
|
+
},
|
|
259
|
+
"organization": {
|
|
260
|
+
"type": "object", "required": ["global_rank", "dependency_ids", "dependent_ids", "dependency_cycle_ids", "window_ids", "trace_useful", "archiveable"],
|
|
261
|
+
"properties": {
|
|
262
|
+
"global_rank": { "type": "integer", "minimum": 0 }, "dependency_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
263
|
+
"dependent_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "dependency_cycle_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
264
|
+
"window_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "trace_useful": { "type": "boolean" }, "archiveable": { "type": "boolean" }
|
|
265
|
+
}, "additionalProperties": false
|
|
266
|
+
},
|
|
267
|
+
"workObservation": {
|
|
268
|
+
"type": "object", "required": ["work_id", "title", "refinement", "execution", "outcome", "organization", "close_disposition"],
|
|
269
|
+
"properties": {
|
|
270
|
+
"work_id": { "type": "string" }, "title": { "type": "string" }, "refinement": { "$ref": "#/$defs/refinement" },
|
|
271
|
+
"execution": { "$ref": "#/$defs/execution" }, "outcome": { "$ref": "#/$defs/outcome" }, "organization": { "$ref": "#/$defs/organization" },
|
|
272
|
+
"close_disposition": { "enum": ["carried_over", "retained_backlog", "archive_requested", "not_applicable"] }
|
|
273
|
+
}, "additionalProperties": false
|
|
274
|
+
},
|
|
275
|
+
"windowSnapshot": {
|
|
276
|
+
"type": "object", "required": ["kind", "qualified_id", "title", "objective", "start", "end", "work_ids"],
|
|
277
|
+
"properties": {
|
|
278
|
+
"kind": { "enum": ["persisted", "ad_hoc"] }, "qualified_id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
279
|
+
"title": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "objective": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
280
|
+
"start": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "end": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
281
|
+
"work_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }
|
|
282
|
+
}, "additionalProperties": false
|
|
283
|
+
},
|
|
284
|
+
"temporalOverlap": {
|
|
285
|
+
"type": "object", "required": ["window_id", "state", "intersection_start", "intersection_end", "cause"],
|
|
286
|
+
"properties": {
|
|
287
|
+
"window_id": { "type": "string" }, "state": { "enum": ["overlap", "disjoint", "unavailable"] },
|
|
288
|
+
"intersection_start": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "intersection_end": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
289
|
+
"cause": { "enum": ["incomparable_temporal_kinds", null] }
|
|
290
|
+
}, "additionalProperties": false
|
|
291
|
+
},
|
|
292
|
+
"temporalPosition": {
|
|
293
|
+
"type": "object", "required": ["state", "observation_value", "source", "cause"],
|
|
294
|
+
"properties": {
|
|
295
|
+
"state": { "enum": ["before", "inside", "after", "unbounded", "unavailable"] }, "observation_value": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
296
|
+
"source": { "enum": ["request", "project_as_of", null] }, "cause": { "enum": ["missing_observation_value", "incomparable_temporal_kinds", null] }
|
|
297
|
+
}, "additionalProperties": false
|
|
298
|
+
},
|
|
299
|
+
"windowObservation": {
|
|
300
|
+
"type": "object", "required": ["window", "objective", "temporal_position", "temporal_overlaps", "selected_execution"],
|
|
301
|
+
"properties": {
|
|
302
|
+
"window": { "$ref": "#/$defs/windowSnapshot" }, "objective": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
303
|
+
"temporal_position": { "$ref": "#/$defs/temporalPosition" }, "temporal_overlaps": { "type": "array", "items": { "$ref": "#/$defs/temporalOverlap" } },
|
|
304
|
+
"selected_execution": { "enum": ["complete", "partial", "uncovered", "unknown", "unavailable"] }
|
|
305
|
+
}, "additionalProperties": false
|
|
306
|
+
},
|
|
307
|
+
"membership": {
|
|
308
|
+
"type": "object", "required": ["window_id", "work_id", "selected"],
|
|
309
|
+
"properties": { "window_id": { "type": "string" }, "work_id": { "type": "string" }, "selected": { "type": "boolean" } }, "additionalProperties": false
|
|
310
|
+
},
|
|
311
|
+
"aggregates": {
|
|
312
|
+
"type": "object", "required": ["unique_work_ids", "unique_task_ids", "unique_milestone_ids", "unique_work_event_ids", "completed_task_ids", "accepted_milestone_ids", "membership_occurrence_count"],
|
|
313
|
+
"properties": {
|
|
314
|
+
"unique_work_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "unique_task_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
315
|
+
"unique_milestone_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "unique_work_event_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
316
|
+
"completed_task_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "accepted_milestone_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
317
|
+
"membership_occurrence_count": { "type": "integer", "minimum": 0 }
|
|
318
|
+
}, "additionalProperties": false
|
|
319
|
+
},
|
|
320
|
+
"globalExecution": {
|
|
321
|
+
"type": "object", "required": ["evidence_state", "recommended_task_ids", "startable_task_ids"],
|
|
322
|
+
"properties": { "evidence_state": { "$ref": "#/$defs/evidenceState" }, "recommended_task_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "startable_task_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" } },
|
|
323
|
+
"additionalProperties": false
|
|
324
|
+
},
|
|
325
|
+
"coreObservation": {
|
|
326
|
+
"type": "object",
|
|
327
|
+
"required": ["schema_version", "observation_capability", "operation", "ok", "document_id", "source_digest", "normalized_request", "evidence", "selected_work_order", "works", "window", "membership_occurrences", "aggregates", "global_execution", "diagnostics"],
|
|
328
|
+
"properties": {
|
|
329
|
+
"schema_version": { "const": "Perttool.PlanningPoolResult.v1" }, "observation_capability": { "const": "perttool.planning-observation-core@1" }, "operation": { "const": "observe" },
|
|
330
|
+
"ok": { "type": "boolean" }, "document_id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "source_digest": { "$ref": "Perttool.Common.v1.schema.json#/$defs/digest" },
|
|
331
|
+
"normalized_request": { "oneOf": [{ "$ref": "#/$defs/request" }, { "type": "null" }] }, "evidence": { "$ref": "#/$defs/currentEvidence" },
|
|
332
|
+
"selected_work_order": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "works": { "type": "array", "items": { "$ref": "#/$defs/workObservation" } },
|
|
333
|
+
"window": { "oneOf": [{ "$ref": "#/$defs/windowObservation" }, { "type": "null" }] }, "membership_occurrences": { "type": "array", "items": { "$ref": "#/$defs/membership" } },
|
|
334
|
+
"aggregates": { "$ref": "#/$defs/aggregates" }, "global_execution": { "$ref": "#/$defs/globalExecution" }, "diagnostics": { "$ref": "Perttool.Common.v1.schema.json#/$defs/diagnostics" }
|
|
335
|
+
}, "additionalProperties": false
|
|
336
|
+
},
|
|
337
|
+
"limits": {
|
|
338
|
+
"type": "object", "required": ["inspected_commits", "raw_bytes_per_snapshot", "aggregate_raw_snapshot_bytes"],
|
|
339
|
+
"properties": { "inspected_commits": { "type": "integer", "minimum": 0 }, "raw_bytes_per_snapshot": { "type": "integer", "minimum": 0 }, "aggregate_raw_snapshot_bytes": { "type": "integer", "minimum": 0 } },
|
|
340
|
+
"additionalProperties": false
|
|
341
|
+
},
|
|
342
|
+
"historicalCause": {
|
|
343
|
+
"type": "object", "required": ["cause", "subject", "commit_id", "limit", "actual"],
|
|
344
|
+
"properties": {
|
|
345
|
+
"cause": { "enum": ["no_repository", "no_head", "unknown_revision", "ambiguous_revision", "non_commit_revision", "endpoint_path_missing", "lower_path_missing", "lower_not_first_parent_ancestor", "shallow_origin", "unsupported_object_format", "object_read_failed", "repository_race", "hard_limit", "ambiguous_path", "target_changed"] },
|
|
346
|
+
"subject": { "enum": ["repository", "endpoint", "lower_boundary", "target_path", "inspection"] }, "commit_id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
347
|
+
"limit": { "enum": ["inspectedCommits", "rawBytesPerSnapshot", "aggregateRawSnapshotBytes", null] }, "actual": { "type": ["integer", "null"] }
|
|
348
|
+
}, "additionalProperties": false
|
|
349
|
+
},
|
|
350
|
+
"historicalEvidence": {
|
|
351
|
+
"type": "object",
|
|
352
|
+
"required": ["mode", "state", "ancestry_profile", "repository_id", "repository_relative_path", "repository_read_snapshot_id", "requested_endpoint", "resolved_endpoint", "requested_lower_boundary", "resolved_lower_boundary", "current_source_digest", "limits", "causes", "continuity_qualified", "forced_loss_distinguishable"],
|
|
353
|
+
"properties": {
|
|
354
|
+
"mode": { "const": "historical" }, "state": { "$ref": "#/$defs/evidenceState" }, "ancestry_profile": { "const": "first_parent" },
|
|
355
|
+
"repository_id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "repository_relative_path": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
356
|
+
"repository_read_snapshot_id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "requested_endpoint": { "type": "string" },
|
|
357
|
+
"resolved_endpoint": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "requested_lower_boundary": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
358
|
+
"resolved_lower_boundary": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "current_source_digest": { "$ref": "Perttool.Common.v1.schema.json#/$defs/digest" },
|
|
359
|
+
"limits": { "$ref": "#/$defs/limits" }, "causes": { "type": "array", "items": { "$ref": "#/$defs/historicalCause" } },
|
|
360
|
+
"continuity_qualified": { "type": "boolean" }, "forced_loss_distinguishable": { "const": false }
|
|
361
|
+
}, "additionalProperties": false
|
|
362
|
+
},
|
|
363
|
+
"axisStates": {
|
|
364
|
+
"type": "object", "required": ["refinement", "execution", "outcome", "organization", "temporal", "close_disposition"],
|
|
365
|
+
"properties": {
|
|
366
|
+
"refinement": { "$ref": "#/$defs/axisState" }, "execution": { "$ref": "#/$defs/axisState" }, "outcome": { "$ref": "#/$defs/axisState" },
|
|
367
|
+
"organization": { "$ref": "#/$defs/axisState" }, "temporal": { "$ref": "#/$defs/axisState" }, "close_disposition": { "$ref": "#/$defs/axisState" }
|
|
368
|
+
}, "additionalProperties": false
|
|
369
|
+
},
|
|
370
|
+
"axisState": { "enum": ["complete", "unknown", "unavailable"] },
|
|
371
|
+
"currentAuthority": {
|
|
372
|
+
"type": "object", "required": ["state", "source_digest", "observation", "overrides_historical_facts"],
|
|
373
|
+
"properties": {
|
|
374
|
+
"state": { "enum": ["observed", "selection_absent", "unavailable"] }, "source_digest": { "$ref": "Perttool.Common.v1.schema.json#/$defs/digest" },
|
|
375
|
+
"observation": { "oneOf": [{ "$ref": "#/$defs/coreObservation" }, { "type": "null" }] }, "overrides_historical_facts": { "const": true }
|
|
376
|
+
}, "additionalProperties": false
|
|
377
|
+
},
|
|
378
|
+
"snapshotBasis": {
|
|
379
|
+
"type": "object", "required": ["repository_id", "repository_relative_path", "repository_read_snapshot_id", "commit_id", "parent_commit_ids", "blob_id", "source_digest", "recorded_at", "is_merge_commit", "is_endpoint", "is_lower_boundary"],
|
|
380
|
+
"properties": {
|
|
381
|
+
"repository_id": { "type": "string" }, "repository_relative_path": { "type": "string" }, "repository_read_snapshot_id": { "type": "string" }, "commit_id": { "type": "string" },
|
|
382
|
+
"parent_commit_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "blob_id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
383
|
+
"source_digest": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableDigest" }, "recorded_at": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" },
|
|
384
|
+
"is_merge_commit": { "type": "boolean" }, "is_endpoint": { "type": "boolean" }, "is_lower_boundary": { "type": "boolean" }
|
|
385
|
+
}, "additionalProperties": false
|
|
386
|
+
},
|
|
387
|
+
"snapshot": {
|
|
388
|
+
"type": "object", "required": ["basis", "validity", "document_id", "selection_state", "observation", "global_execution_evidence", "diagnostic_codes"],
|
|
389
|
+
"properties": {
|
|
390
|
+
"basis": { "$ref": "#/$defs/snapshotBasis" }, "validity": { "enum": ["planning_valid", "planning_absent", "source_missing", "source_invalid", "source_binding_invalid"] },
|
|
391
|
+
"document_id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "selection_state": { "enum": ["observed", "absent", "unavailable"] },
|
|
392
|
+
"observation": { "oneOf": [{ "$ref": "#/$defs/coreObservation" }, { "type": "null" }] }, "global_execution_evidence": { "$ref": "#/$defs/evidenceState" },
|
|
393
|
+
"diagnostic_codes": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }
|
|
394
|
+
}, "additionalProperties": false
|
|
395
|
+
},
|
|
396
|
+
"epoch": {
|
|
397
|
+
"type": "object", "required": ["ordinal", "first_observed_commit_id", "last_observed_commit_id", "value_digest"],
|
|
398
|
+
"properties": { "ordinal": { "type": "integer", "minimum": 0 }, "first_observed_commit_id": { "type": "string" }, "last_observed_commit_id": { "type": "string" }, "value_digest": { "$ref": "Perttool.Common.v1.schema.json#/$defs/digest" } },
|
|
399
|
+
"additionalProperties": false
|
|
400
|
+
},
|
|
401
|
+
"workOccurrence": { "$ref": "#/$defs/workOccurrenceObject" },
|
|
402
|
+
"workOccurrenceObject": {
|
|
403
|
+
"type": "object", "required": ["occurrence_id", "work_id", "first_observed_commit_id", "last_observed_commit_id", "retired_at_commit_id", "ended_by", "observed_commit_ids", "semantic_epochs"],
|
|
404
|
+
"properties": {
|
|
405
|
+
"occurrence_id": { "type": "string" }, "work_id": { "type": "string" }, "first_observed_commit_id": { "type": "string" }, "last_observed_commit_id": { "type": "string" },
|
|
406
|
+
"retired_at_commit_id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "ended_by": { "$ref": "#/$defs/occurrenceEnd" },
|
|
407
|
+
"observed_commit_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "semantic_epochs": { "type": "array", "items": { "$ref": "#/$defs/epoch" } }
|
|
408
|
+
}, "additionalProperties": false
|
|
409
|
+
},
|
|
410
|
+
"windowOccurrence": {
|
|
411
|
+
"type": "object", "required": ["occurrence_id", "window_id", "first_observed_commit_id", "last_observed_commit_id", "retired_at_commit_id", "ended_by", "observed_commit_ids", "semantic_epochs"],
|
|
412
|
+
"properties": {
|
|
413
|
+
"occurrence_id": { "type": "string" }, "window_id": { "type": "string" }, "first_observed_commit_id": { "type": "string" }, "last_observed_commit_id": { "type": "string" },
|
|
414
|
+
"retired_at_commit_id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "ended_by": { "$ref": "#/$defs/occurrenceEnd" },
|
|
415
|
+
"observed_commit_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "semantic_epochs": { "type": "array", "items": { "$ref": "#/$defs/epoch" } }
|
|
416
|
+
}, "additionalProperties": false
|
|
417
|
+
},
|
|
418
|
+
"occurrenceEnd": { "enum": ["current_endpoint", "removed", "gap", "historical_endpoint"] },
|
|
419
|
+
"relationOccurrence": {
|
|
420
|
+
"type": "object", "required": ["occurrence_id", "kind", "owner_id", "target_id", "first_observed_commit_id", "last_observed_commit_id", "retired_at_commit_id", "ended_by", "observed_commit_ids", "fact_epochs"],
|
|
421
|
+
"properties": {
|
|
422
|
+
"occurrence_id": { "type": "string" }, "kind": { "enum": ["work_event", "work_activity", "work_milestone_projection", "work_task_projection", "work_dependency", "window_membership"] },
|
|
423
|
+
"owner_id": { "type": "string" }, "target_id": { "type": "string" }, "first_observed_commit_id": { "type": "string" }, "last_observed_commit_id": { "type": "string" },
|
|
424
|
+
"retired_at_commit_id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "ended_by": { "$ref": "#/$defs/occurrenceEnd" },
|
|
425
|
+
"observed_commit_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "fact_epochs": { "type": "array", "items": { "$ref": "#/$defs/epoch" } }
|
|
426
|
+
}, "additionalProperties": false
|
|
427
|
+
},
|
|
428
|
+
"transition": {
|
|
429
|
+
"type": "object", "required": ["from_commit_id", "to_commit_id", "kind", "source_changed", "semantic_changed", "added_work_ids", "removed_work_ids", "added_window_ids", "removed_window_ids", "added_relation_keys", "removed_relation_keys", "removed_task_ids", "removed_milestone_ids", "strict_canonical_advance", "continuity"],
|
|
430
|
+
"properties": {
|
|
431
|
+
"from_commit_id": { "$ref": "Perttool.Common.v1.schema.json#/$defs/nullableString" }, "to_commit_id": { "type": "string" },
|
|
432
|
+
"kind": { "enum": ["baseline", "representation", "planning_change", "contraction", "window_close", "canonical_advance", "gap"] }, "source_changed": { "type": "boolean" }, "semantic_changed": { "type": "boolean" },
|
|
433
|
+
"added_work_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "removed_work_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
434
|
+
"added_window_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "removed_window_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
435
|
+
"added_relation_keys": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "removed_relation_keys": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
436
|
+
"removed_task_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "removed_milestone_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" },
|
|
437
|
+
"strict_canonical_advance": { "type": "boolean" }, "continuity": { "enum": ["continuous", "gap"] }
|
|
438
|
+
}, "additionalProperties": false
|
|
439
|
+
},
|
|
440
|
+
"carry": {
|
|
441
|
+
"type": "object", "required": ["work_id", "target_window_id"],
|
|
442
|
+
"properties": { "work_id": { "type": "string" }, "target_window_id": { "type": "string" } }, "additionalProperties": false
|
|
443
|
+
},
|
|
444
|
+
"windowClose": {
|
|
445
|
+
"type": "object", "required": ["window_id", "from_commit_id", "to_commit_id", "member_work_ids", "carried_over", "unrecorded_disposition_work_ids", "exact_mutation_request_available"],
|
|
446
|
+
"properties": {
|
|
447
|
+
"window_id": { "type": "string" }, "from_commit_id": { "type": "string" }, "to_commit_id": { "type": "string" },
|
|
448
|
+
"member_work_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "carried_over": { "type": "array", "items": { "$ref": "#/$defs/carry" } },
|
|
449
|
+
"unrecorded_disposition_work_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }, "exact_mutation_request_available": { "const": false }
|
|
450
|
+
}, "additionalProperties": false
|
|
451
|
+
},
|
|
452
|
+
"gap": {
|
|
453
|
+
"type": "object", "required": ["commit_id", "cause", "axis_states"],
|
|
454
|
+
"properties": {
|
|
455
|
+
"commit_id": { "type": "string" }, "cause": { "enum": ["planning_absent", "source_missing", "source_invalid", "source_binding_invalid", "project_discontinuity", "missing_or_forced_loss"] },
|
|
456
|
+
"axis_states": { "$ref": "#/$defs/axisStates" }
|
|
457
|
+
}, "additionalProperties": false
|
|
458
|
+
},
|
|
459
|
+
"lineage": {
|
|
460
|
+
"type": "object", "required": ["project_id", "work_occurrences", "window_occurrences", "relation_occurrences", "transitions", "window_closes", "gaps", "ambiguous_identity_ids"],
|
|
461
|
+
"properties": {
|
|
462
|
+
"project_id": { "type": "string" }, "work_occurrences": { "type": "array", "items": { "$ref": "#/$defs/workOccurrence" } },
|
|
463
|
+
"window_occurrences": { "type": "array", "items": { "$ref": "#/$defs/windowOccurrence" } }, "relation_occurrences": { "type": "array", "items": { "$ref": "#/$defs/relationOccurrence" } },
|
|
464
|
+
"transitions": { "type": "array", "items": { "$ref": "#/$defs/transition" } }, "window_closes": { "type": "array", "items": { "$ref": "#/$defs/windowClose" } },
|
|
465
|
+
"gaps": { "type": "array", "items": { "$ref": "#/$defs/gap" } }, "ambiguous_identity_ids": { "$ref": "Perttool.Common.v1.schema.json#/$defs/stringArray" }
|
|
466
|
+
}, "additionalProperties": false
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
}
|