mustflow 2.74.7 → 2.75.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.
@@ -0,0 +1,145 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://mustflow.github.io/schemas/code-outline-report.schema.json",
4
+ "title": "mustflow code-outline report",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema_version",
9
+ "command",
10
+ "pack_id",
11
+ "script_id",
12
+ "script_ref",
13
+ "action",
14
+ "status",
15
+ "ok",
16
+ "mustflow_root",
17
+ "policy",
18
+ "input_hash",
19
+ "files",
20
+ "symbols",
21
+ "findings",
22
+ "issues"
23
+ ],
24
+ "properties": {
25
+ "schema_version": { "const": "1" },
26
+ "command": { "const": "script-pack" },
27
+ "pack_id": { "const": "code" },
28
+ "script_id": { "const": "outline" },
29
+ "script_ref": { "const": "code/outline" },
30
+ "action": { "const": "scan" },
31
+ "status": { "enum": ["passed", "failed", "error"] },
32
+ "ok": { "type": "boolean" },
33
+ "mustflow_root": { "type": "string" },
34
+ "policy": { "$ref": "#/$defs/policy" },
35
+ "input_hash": { "$ref": "#/$defs/sha256" },
36
+ "files": {
37
+ "type": "array",
38
+ "items": { "$ref": "#/$defs/file" }
39
+ },
40
+ "symbols": {
41
+ "type": "array",
42
+ "items": { "$ref": "#/$defs/symbol" }
43
+ },
44
+ "findings": {
45
+ "type": "array",
46
+ "items": { "$ref": "#/$defs/finding" }
47
+ },
48
+ "issues": {
49
+ "type": "array",
50
+ "items": { "type": "string" }
51
+ }
52
+ },
53
+ "$defs": {
54
+ "sha256": {
55
+ "type": "string",
56
+ "pattern": "^sha256:[a-f0-9]{64}$"
57
+ },
58
+ "language": {
59
+ "enum": ["typescript", "tsx", "javascript", "jsx", "javascript-module", "javascript-commonjs"]
60
+ },
61
+ "symbolKind": {
62
+ "enum": ["function", "class", "interface", "type", "enum", "variable"]
63
+ },
64
+ "stringArray": {
65
+ "type": "array",
66
+ "items": { "type": "string" }
67
+ },
68
+ "policy": {
69
+ "type": "object",
70
+ "additionalProperties": false,
71
+ "required": ["max_file_bytes", "max_files", "extensions", "ignored_directories"],
72
+ "properties": {
73
+ "max_file_bytes": { "type": "integer", "minimum": 1 },
74
+ "max_files": { "type": "integer", "minimum": 1 },
75
+ "extensions": { "$ref": "#/$defs/stringArray" },
76
+ "ignored_directories": { "$ref": "#/$defs/stringArray" }
77
+ }
78
+ },
79
+ "file": {
80
+ "type": "object",
81
+ "additionalProperties": false,
82
+ "required": ["kind", "path", "language", "sha256", "size_bytes", "line_count", "symbol_count"],
83
+ "properties": {
84
+ "kind": { "const": "source_file" },
85
+ "path": { "type": "string" },
86
+ "language": { "$ref": "#/$defs/language" },
87
+ "sha256": { "$ref": "#/$defs/sha256" },
88
+ "size_bytes": { "type": "integer", "minimum": 0 },
89
+ "line_count": { "type": "integer", "minimum": 0 },
90
+ "symbol_count": { "type": "integer", "minimum": 0 }
91
+ }
92
+ },
93
+ "symbol": {
94
+ "type": "object",
95
+ "additionalProperties": false,
96
+ "required": [
97
+ "id",
98
+ "path",
99
+ "language",
100
+ "kind",
101
+ "name",
102
+ "start_line",
103
+ "end_line",
104
+ "signature",
105
+ "exported",
106
+ "async",
107
+ "parent",
108
+ "content_sha256"
109
+ ],
110
+ "properties": {
111
+ "id": { "type": "string" },
112
+ "path": { "type": "string" },
113
+ "language": { "$ref": "#/$defs/language" },
114
+ "kind": { "$ref": "#/$defs/symbolKind" },
115
+ "name": { "type": "string" },
116
+ "start_line": { "type": "integer", "minimum": 1 },
117
+ "end_line": { "type": "integer", "minimum": 1 },
118
+ "signature": { "type": "string" },
119
+ "exported": { "type": "boolean" },
120
+ "async": { "type": "boolean" },
121
+ "parent": { "type": ["string", "null"] },
122
+ "content_sha256": { "$ref": "#/$defs/sha256" }
123
+ }
124
+ },
125
+ "finding": {
126
+ "type": "object",
127
+ "additionalProperties": false,
128
+ "required": ["code", "severity", "message", "path"],
129
+ "properties": {
130
+ "code": {
131
+ "enum": [
132
+ "code_outline_path_outside_root",
133
+ "code_outline_unreadable_path",
134
+ "code_outline_unsupported_file",
135
+ "code_outline_file_too_large",
136
+ "code_outline_max_files_exceeded"
137
+ ]
138
+ },
139
+ "severity": { "enum": ["low", "medium", "high", "critical"] },
140
+ "message": { "type": "string" },
141
+ "path": { "type": "string" }
142
+ }
143
+ }
144
+ }
145
+ }
@@ -0,0 +1,182 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://mustflow.github.io/schemas/code-symbol-read-report.schema.json",
4
+ "title": "mustflow code-symbol-read report",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema_version",
9
+ "command",
10
+ "pack_id",
11
+ "script_id",
12
+ "script_ref",
13
+ "action",
14
+ "status",
15
+ "ok",
16
+ "mustflow_root",
17
+ "policy",
18
+ "input_hash",
19
+ "target",
20
+ "snippet",
21
+ "findings",
22
+ "issues"
23
+ ],
24
+ "properties": {
25
+ "schema_version": { "const": "1" },
26
+ "command": { "const": "script-pack" },
27
+ "pack_id": { "const": "code" },
28
+ "script_id": { "const": "symbol-read" },
29
+ "script_ref": { "const": "code/symbol-read" },
30
+ "action": { "const": "read" },
31
+ "status": { "enum": ["passed", "failed", "error"] },
32
+ "ok": { "type": "boolean" },
33
+ "mustflow_root": { "type": "string" },
34
+ "policy": { "$ref": "#/$defs/policy" },
35
+ "input_hash": { "$ref": "#/$defs/sha256" },
36
+ "target": {
37
+ "anyOf": [
38
+ { "$ref": "#/$defs/target" },
39
+ { "type": "null" }
40
+ ]
41
+ },
42
+ "snippet": {
43
+ "anyOf": [
44
+ { "$ref": "#/$defs/snippet" },
45
+ { "type": "null" }
46
+ ]
47
+ },
48
+ "findings": {
49
+ "type": "array",
50
+ "items": { "$ref": "#/$defs/finding" }
51
+ },
52
+ "issues": {
53
+ "type": "array",
54
+ "items": { "type": "string" }
55
+ }
56
+ },
57
+ "$defs": {
58
+ "sha256": {
59
+ "type": "string",
60
+ "pattern": "^sha256:[a-f0-9]{64}$"
61
+ },
62
+ "language": {
63
+ "enum": ["typescript", "tsx", "javascript", "jsx", "javascript-module", "javascript-commonjs"]
64
+ },
65
+ "symbolKind": {
66
+ "enum": ["function", "class", "interface", "type", "enum", "variable"]
67
+ },
68
+ "policy": {
69
+ "type": "object",
70
+ "additionalProperties": false,
71
+ "required": ["start_line", "end_line", "context_lines", "max_file_bytes", "max_snippet_lines"],
72
+ "properties": {
73
+ "start_line": { "type": "integer", "minimum": 1 },
74
+ "end_line": { "type": ["integer", "null"], "minimum": 1 },
75
+ "context_lines": { "type": "integer", "minimum": 0 },
76
+ "max_file_bytes": { "type": "integer", "minimum": 1 },
77
+ "max_snippet_lines": { "type": "integer", "minimum": 1 }
78
+ }
79
+ },
80
+ "symbol": {
81
+ "type": "object",
82
+ "additionalProperties": false,
83
+ "required": [
84
+ "id",
85
+ "path",
86
+ "language",
87
+ "kind",
88
+ "name",
89
+ "start_line",
90
+ "end_line",
91
+ "signature",
92
+ "exported",
93
+ "async",
94
+ "parent",
95
+ "content_sha256"
96
+ ],
97
+ "properties": {
98
+ "id": { "type": "string" },
99
+ "path": { "type": "string" },
100
+ "language": { "$ref": "#/$defs/language" },
101
+ "kind": { "$ref": "#/$defs/symbolKind" },
102
+ "name": { "type": "string" },
103
+ "start_line": { "type": "integer", "minimum": 1 },
104
+ "end_line": { "type": "integer", "minimum": 1 },
105
+ "signature": { "type": "string" },
106
+ "exported": { "type": "boolean" },
107
+ "async": { "type": "boolean" },
108
+ "parent": { "type": ["string", "null"] },
109
+ "content_sha256": { "$ref": "#/$defs/sha256" }
110
+ }
111
+ },
112
+ "target": {
113
+ "type": "object",
114
+ "additionalProperties": false,
115
+ "required": [
116
+ "path",
117
+ "language",
118
+ "sha256",
119
+ "size_bytes",
120
+ "line_count",
121
+ "requested_start_line",
122
+ "requested_end_line",
123
+ "resolved_start_line",
124
+ "resolved_end_line",
125
+ "context_start_line",
126
+ "context_end_line",
127
+ "symbol"
128
+ ],
129
+ "properties": {
130
+ "path": { "type": "string" },
131
+ "language": { "$ref": "#/$defs/language" },
132
+ "sha256": { "$ref": "#/$defs/sha256" },
133
+ "size_bytes": { "type": "integer", "minimum": 0 },
134
+ "line_count": { "type": "integer", "minimum": 0 },
135
+ "requested_start_line": { "type": "integer", "minimum": 1 },
136
+ "requested_end_line": { "type": ["integer", "null"], "minimum": 1 },
137
+ "resolved_start_line": { "type": ["integer", "null"], "minimum": 1 },
138
+ "resolved_end_line": { "type": ["integer", "null"], "minimum": 1 },
139
+ "context_start_line": { "type": ["integer", "null"], "minimum": 1 },
140
+ "context_end_line": { "type": ["integer", "null"], "minimum": 1 },
141
+ "symbol": {
142
+ "anyOf": [
143
+ { "$ref": "#/$defs/symbol" },
144
+ { "type": "null" }
145
+ ]
146
+ }
147
+ }
148
+ },
149
+ "snippet": {
150
+ "type": "object",
151
+ "additionalProperties": false,
152
+ "required": ["path", "start_line", "end_line", "text"],
153
+ "properties": {
154
+ "path": { "type": "string" },
155
+ "start_line": { "type": "integer", "minimum": 1 },
156
+ "end_line": { "type": "integer", "minimum": 1 },
157
+ "text": { "type": "string" }
158
+ }
159
+ },
160
+ "finding": {
161
+ "type": "object",
162
+ "additionalProperties": false,
163
+ "required": ["code", "severity", "message", "path", "start_line", "end_line"],
164
+ "properties": {
165
+ "code": {
166
+ "enum": [
167
+ "code_symbol_read_path_outside_root",
168
+ "code_symbol_read_unreadable_path",
169
+ "code_symbol_read_invalid_range",
170
+ "code_symbol_read_no_symbol_at_line",
171
+ "code_symbol_read_snippet_too_large"
172
+ ]
173
+ },
174
+ "severity": { "enum": ["low", "medium", "high", "critical"] },
175
+ "message": { "type": "string" },
176
+ "path": { "type": "string" },
177
+ "start_line": { "type": ["integer", "null"], "minimum": 1 },
178
+ "end_line": { "type": ["integer", "null"], "minimum": 1 }
179
+ }
180
+ }
181
+ }
182
+ }
@@ -505,7 +505,7 @@ translations = {}
505
505
  [documents."skill.codebase-orientation"]
506
506
  source = "locales/en/.mustflow/skills/codebase-orientation/SKILL.md"
507
507
  source_locale = "en"
508
- revision = 3
508
+ revision = 4
509
509
  translations = {}
510
510
 
511
511
  [documents."skill.heuristic-candidate-selection"]
@@ -2,7 +2,7 @@
2
2
  mustflow_doc: skill.codebase-orientation
3
3
  locale: en
4
4
  canonical: true
5
- revision: 3
5
+ revision: 4
6
6
  lifecycle: mustflow-owned
7
7
  authority: procedure
8
8
  name: codebase-orientation
@@ -71,9 +71,15 @@ Build a concise, evidence-based map of an unfamiliar repository area before plan
71
71
  2. Read the nearest repository instructions and matching skill routes before inspecting source files.
72
72
  3. Use navigation aids in order:
73
73
  - current changed files or user-named paths;
74
+ - read-only script-pack helpers such as `code/outline` and `code/symbol-read` when the
75
+ installed CLI exposes them and repository or host policy allows running the read-only helper;
74
76
  - `REPO_MAP.md` only when broader repository navigation is needed;
75
77
  - file search for names, exported symbols, command ids, schema ids, route ids, and test names.
76
78
  Treat generated maps and docs as pointers, not proof.
79
+ Prefer `code/outline` before reading large TypeScript or JavaScript files in repeated line
80
+ windows, then use `code/symbol-read` to read the selected symbol range or a bounded explicit
81
+ line range. If script-pack execution is not authorized, fall back to ordinary file search and
82
+ targeted reads instead of inventing script output.
77
83
  4. Watch for stalled observation.
78
84
  - If the same file, path, list, search, or generated-map lookup repeats without new evidence,
79
85
  stop that branch and switch to `evidence-stall-breaker`.
@@ -1,6 +1,6 @@
1
1
  id = "default"
2
2
  name = "default"
3
- version = "2.74.7"
3
+ version = "2.75.0"
4
4
  description = "Minimal workflow for LLM agents to read, edit, and verify their work in a repository."
5
5
  common_root = "common"
6
6
  locales_root = "locales"