@stalfh233/omc-cli 0.4.14 → 0.4.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +297 -297
  3. package/coverage/m1-coverage-manifest-v1.json +1278 -1277
  4. package/dist/args.js +0 -0
  5. package/dist/artifacts.js +0 -0
  6. package/dist/bench/call-face-eval.js +0 -0
  7. package/dist/bench/context-attribution.js +0 -0
  8. package/dist/bench/discovery-cost-eval.js +0 -0
  9. package/dist/bench/driver.js +0 -0
  10. package/dist/bench/evals.js +0 -0
  11. package/dist/bench/fake-http-server.js +0 -0
  12. package/dist/bench/instrument.js +0 -0
  13. package/dist/bench/intent-face-eval.js +40 -40
  14. package/dist/bench/run.js +0 -0
  15. package/dist/bench/scenario.js +0 -0
  16. package/dist/bench/types.js +0 -0
  17. package/dist/bi-wire.js +0 -0
  18. package/dist/bizservice-config.js +38 -13
  19. package/dist/call.js +0 -0
  20. package/dist/capability-absences.js +0 -0
  21. package/dist/capability-overview.js +2 -2
  22. package/dist/capability-shape.js +0 -0
  23. package/dist/cli-contract.js +0 -0
  24. package/dist/cli-output.js +41 -15
  25. package/dist/cli.js +42 -3
  26. package/dist/code-rules.js +0 -0
  27. package/dist/command-transport.js +0 -0
  28. package/dist/config-store.js +0 -0
  29. package/dist/context.js +0 -0
  30. package/dist/contract-consistency.js +0 -0
  31. package/dist/contract-resources.js +0 -0
  32. package/dist/coverage-consistency.js +0 -0
  33. package/dist/coverage-registry.js +0 -0
  34. package/dist/coverage.js +0 -0
  35. package/dist/data-list-filter.js +0 -0
  36. package/dist/discovery.js +0 -0
  37. package/dist/endpoints.js +2 -0
  38. package/dist/environment-policy.js +0 -0
  39. package/dist/execution-metadata.js +4 -4
  40. package/dist/fake/app.js +0 -0
  41. package/dist/fake/b2-registration.js +26 -0
  42. package/dist/fake/businessrule.js +0 -0
  43. package/dist/fake/datarule.js +0 -0
  44. package/dist/fake/dictionary.js +0 -0
  45. package/dist/fake/environment.js +0 -0
  46. package/dist/fake/field.js +0 -0
  47. package/dist/fake/form.js +0 -0
  48. package/dist/fake/index.js +0 -0
  49. package/dist/fake/list-view.js +0 -0
  50. package/dist/fake/model.js +0 -0
  51. package/dist/fake/online-js.js +0 -0
  52. package/dist/fake/report.js +0 -0
  53. package/dist/fake/routes.js +0 -0
  54. package/dist/fake/rule-lifecycle.js +0 -0
  55. package/dist/fake/runtime-data.js +0 -0
  56. package/dist/fake/state.js +0 -0
  57. package/dist/fake/workflow.js +0 -0
  58. package/dist/field-change.js +0 -0
  59. package/dist/field-families.js +0 -0
  60. package/dist/form-layout.js +0 -0
  61. package/dist/form-support.js +12 -2
  62. package/dist/goal-routes.js +0 -0
  63. package/dist/governed-execution.js +0 -0
  64. package/dist/human-summary.js +0 -0
  65. package/dist/identity.js +0 -0
  66. package/dist/intent/baseline.js +0 -0
  67. package/dist/intent/capabilities/bizservice.js +0 -0
  68. package/dist/intent/capabilities/businessrule.js +0 -0
  69. package/dist/intent/capabilities/datarule.js +0 -0
  70. package/dist/intent/capabilities/field.js +0 -0
  71. package/dist/intent/capabilities/form.js +0 -0
  72. package/dist/intent/capabilities/index.js +0 -0
  73. package/dist/intent/capabilities/listview.js +0 -0
  74. package/dist/intent/capabilities/model.js +0 -0
  75. package/dist/intent/capabilities/onlinejs.js +0 -0
  76. package/dist/intent/capabilities/report.js +0 -0
  77. package/dist/intent/capabilities/workflow.js +0 -0
  78. package/dist/intent/capability.js +0 -0
  79. package/dist/intent/cli.js +0 -0
  80. package/dist/intent/compare.js +0 -0
  81. package/dist/intent/compiler.js +0 -0
  82. package/dist/intent/dsl.js +0 -0
  83. package/dist/intent/plan-file.js +0 -0
  84. package/dist/intent/readback.js +0 -0
  85. package/dist/intent/schema.js +0 -0
  86. package/dist/intent/validation.js +0 -0
  87. package/dist/intent/yaml.js +0 -0
  88. package/dist/json-column.js +0 -0
  89. package/dist/lanes/app-contract.js +0 -0
  90. package/dist/lanes/app-coverage.js +0 -0
  91. package/dist/lanes/app.js +0 -0
  92. package/dist/lanes/apply-changes.js +14 -1
  93. package/dist/lanes/b2-registration-contract.js +5 -0
  94. package/dist/lanes/b2-registration-coverage.js +1 -0
  95. package/dist/lanes/b2-registration.js +55 -6
  96. package/dist/lanes/businessrule-contract.js +0 -0
  97. package/dist/lanes/businessrule-coverage.js +0 -0
  98. package/dist/lanes/businessrule.js +0 -0
  99. package/dist/lanes/contract-support.js +0 -0
  100. package/dist/lanes/coverage-declaration.js +0 -0
  101. package/dist/lanes/datarule-contract.js +0 -0
  102. package/dist/lanes/datarule-coverage.js +0 -0
  103. package/dist/lanes/datarule-protocol.js +0 -0
  104. package/dist/lanes/datarule.js +0 -0
  105. package/dist/lanes/dictionary-contract.js +0 -0
  106. package/dist/lanes/dictionary-coverage.js +0 -0
  107. package/dist/lanes/dictionary.js +0 -0
  108. package/dist/lanes/environment-contract.js +0 -0
  109. package/dist/lanes/environment-coverage.js +0 -0
  110. package/dist/lanes/environment.js +0 -0
  111. package/dist/lanes/field-contract.js +3 -2
  112. package/dist/lanes/field-coverage.js +0 -0
  113. package/dist/lanes/field.js +268 -172
  114. package/dist/lanes/form-contract.js +2 -2
  115. package/dist/lanes/form-coverage.js +0 -0
  116. package/dist/lanes/form.js +4 -0
  117. package/dist/lanes/lane-ids.js +0 -0
  118. package/dist/lanes/list-view-contract.js +0 -0
  119. package/dist/lanes/list-view-coverage.js +0 -0
  120. package/dist/lanes/list-view-shapes.js +0 -0
  121. package/dist/lanes/list-view.js +0 -0
  122. package/dist/lanes/meta-contract.js +0 -0
  123. package/dist/lanes/meta.js +11 -1
  124. package/dist/lanes/model-contract.js +0 -0
  125. package/dist/lanes/model-coverage.js +0 -0
  126. package/dist/lanes/model.js +1 -1
  127. package/dist/lanes/online-js-contract.js +0 -0
  128. package/dist/lanes/online-js-coverage.js +0 -0
  129. package/dist/lanes/online-js.js +0 -0
  130. package/dist/lanes/report-contract.js +0 -0
  131. package/dist/lanes/report-coverage.js +0 -0
  132. package/dist/lanes/report.js +0 -0
  133. package/dist/lanes/rule-graph.js +0 -0
  134. package/dist/lanes/rule-lifecycle-contract.js +0 -0
  135. package/dist/lanes/rule-lifecycle-coverage.js +0 -0
  136. package/dist/lanes/rule-lifecycle.js +0 -0
  137. package/dist/lanes/runtime-data-contract.js +0 -0
  138. package/dist/lanes/runtime-data-coverage.js +0 -0
  139. package/dist/lanes/runtime-data.js +0 -0
  140. package/dist/lanes/workflow-contract.js +0 -0
  141. package/dist/lanes/workflow-coverage.js +0 -0
  142. package/dist/lanes/workflow.js +2 -0
  143. package/dist/omc-core-lazy.js +6 -0
  144. package/dist/online-js-layout.js +0 -0
  145. package/dist/online-js-source.js +28 -28
  146. package/dist/package-tool.js +0 -0
  147. package/dist/package.js +0 -0
  148. package/dist/plan.js +11 -1
  149. package/dist/read.js +0 -0
  150. package/dist/redact.js +0 -0
  151. package/dist/rule-support.js +0 -0
  152. package/dist/runtime-support.js +0 -0
  153. package/dist/service-doctor.js +28 -0
  154. package/dist/session-manager.js +0 -0
  155. package/dist/session.js +38 -12
  156. package/dist/skills.js +0 -0
  157. package/dist/sqlite-warning-filter.js +27 -0
  158. package/dist/support.js +0 -0
  159. package/dist/tool-types.js +0 -0
  160. package/dist/tools.js +0 -0
  161. package/dist/usage-log.js +4 -0
  162. package/dist/wire.js +0 -0
  163. package/dist/workflow-support.js +0 -0
  164. package/dist/write-lease.js +0 -0
  165. package/dist/write-lock.js +0 -0
  166. package/dist/write.js +24 -2
  167. package/dist/zip.js +0 -0
  168. package/docs/tool-surface-map.md +42 -42
  169. package/package.json +71 -71
  170. package/skills/omc-acceptance-criteria.md +47 -47
  171. package/skills/omc-business-configuration.md +258 -257
  172. package/skills/omc-capabilities.md +197 -197
  173. package/skills/omc-capability-scouting.md +55 -55
  174. package/skills/omc-config-draft-review.md +171 -171
  175. package/skills/omc-five-piece-flow.md +35 -35
  176. package/skills/omc-glossary.md +86 -86
  177. package/skills/omc-refusals.md +110 -110
  178. package/skills/omc-requirement-analysis.md +161 -161
  179. package/skills/omc-requirement-vocabulary.md +51 -51
  180. package/skills/omc-start-here.md +82 -82
  181. package/skills/omc-tool-selection.md +119 -119
  182. package/skills/omc-write-hazards.md +88 -87
  183. package/dist/approval-token.js +0 -102
  184. package/dist/server.js +0 -92
@@ -1,47 +1,47 @@
1
- ---
2
- name: omc-acceptance-criteria
3
- description: Decide whether a CLI change is accepted. Use before claiming done: readback, delivery-state, zero-residue, and negative-test gates.
4
- ---
5
-
6
- # Acceptance Criteria (验收标准)
7
-
8
- A change is accepted only when every gate below holds.
9
-
10
- ## Per-write
11
-
12
- 1. **Environment permission** — `writable:true` admits the write; `writable:false` refuses before wire. A production write additionally carries `confirmProduction:true` and records `productionConfirmed:true`.
13
- 2. **Authoritative readback** — the post-write read proves the intended state from the authoritative face (`field.list` published face, `form.get` published flags, `data.load` for M2 data, `onlinejs.compose` publishedHtmlJson + SHA-256 for Online JS). "Called without error" is not acceptance.
14
- 3. **Delivery state recorded** — the `.omc/` artifact exists with `deliveryState: DELIVERED` and the environment fingerprint.
15
- 4. **Zero residue** — fixtures removed and exact absence proven on every face (draft and published); final state CLEANED.
16
-
17
- ## Per-session
18
-
19
- 5. **`uncertain` resolved** — every uncertain outcome was re-discovered before any further write.
20
- 6. **Secrets zero-echo** — no output, artifact, or error contains the credential or bearer token.
21
- 7. **Boundaries respected** — every `capability-out-of-coverage` refusal was treated as a boundary, not retried through another tool.
22
- 8. **Draft gate evidenced** — if the session performed any write, the report must attach each design draft it presented and the human's approval turn(s) (and every revision). A write with no preceding draft/approval record fails acceptance — read `omc-config-draft-review`.
23
-
24
- ## Portal/DOM acceptance (opt-in, real platform)
25
-
26
- Storage readback is NOT platform consumption. When the change is a form/design
27
- artifact, the strongest acceptance is the opt-in live batteries — and they ARE
28
- the "open a browser" step; do not report "no portal acceptance entry point":
29
-
30
- - `npm run test:live` — designer canvas, condition panels **and the condition
31
- dialog must render >=1 rule row** (a serialization can crash the formatter and
32
- silently drop the row while the panel still says "Set"), portal fields (two
33
- loads), list columns, list buttons, Online JS wrapper + `window.h3form` boot.
34
- - `npm run test:live-workflow` — two-stage workflow + rule write-back via
35
- `data.save(workflowCode)` → `workitem.list` → `data.submit` → `data.load`.
36
- - `npm run test:live-permission` — node field permissions read from
37
- `form/load.formPermission.dataPermissions` as a NON-admin participant (an
38
- admin is force-granted `e:true`).
39
-
40
- ## Negative baseline (must stay green)
41
-
42
- - Read-only environment → `environment-write-disabled`, zero wire calls.
43
- - Writable production without `confirmProduction:true` → `production-confirmation-required`, zero wire calls.
44
- - Concurrent writes → serialized by the write lease (max 1 in flight).
45
- - Blocked lane (e.g. `W2-permissions`) → refused with citation.
46
- - Transport outage during a write → `uncertain` + `frozen`, never `ok`.
47
- - Non-8.6 version (or missing version evidence) → writes fail closed.
1
+ ---
2
+ name: omc-acceptance-criteria
3
+ description: Decide whether a CLI change is accepted. Use before claiming done: readback, delivery-state, zero-residue, and negative-test gates.
4
+ ---
5
+
6
+ # Acceptance Criteria (验收标准)
7
+
8
+ A change is accepted only when every gate below holds.
9
+
10
+ ## Per-write
11
+
12
+ 1. **Environment permission** — `writable:true` admits the write; `writable:false` refuses before wire. A production write additionally carries `confirmProduction:true` and records `productionConfirmed:true`.
13
+ 2. **Authoritative readback** — the post-write read proves the intended state from the authoritative face (`field.list` published face, `form.get` published flags, `data.load` for M2 data, `onlinejs.compose` publishedHtmlJson + SHA-256 for Online JS). "Called without error" is not acceptance.
14
+ 3. **Delivery state recorded** — the `.omc/` artifact exists with `deliveryState: DELIVERED` and the environment fingerprint.
15
+ 4. **Zero residue** — fixtures removed and exact absence proven on every face (draft and published); final state CLEANED.
16
+
17
+ ## Per-session
18
+
19
+ 5. **`uncertain` resolved** — every uncertain outcome was re-discovered before any further write.
20
+ 6. **Secrets zero-echo** — no output, artifact, or error contains the credential or bearer token.
21
+ 7. **Boundaries respected** — every `capability-out-of-coverage` refusal was treated as a boundary, not retried through another tool.
22
+ 8. **Draft gate evidenced** — if the session performed any write, the report must attach each design draft it presented and the human's approval turn(s) (and every revision). A write with no preceding draft/approval record fails acceptance — read `omc-config-draft-review`.
23
+
24
+ ## Portal/DOM acceptance (opt-in, real platform)
25
+
26
+ Storage readback is NOT platform consumption. When the change is a form/design
27
+ artifact, the strongest acceptance is the opt-in live batteries — and they ARE
28
+ the "open a browser" step; do not report "no portal acceptance entry point":
29
+
30
+ - `npm run test:live` — designer canvas, condition panels **and the condition
31
+ dialog must render >=1 rule row** (a serialization can crash the formatter and
32
+ silently drop the row while the panel still says "Set"), portal fields (two
33
+ loads), list columns, list buttons, Online JS wrapper + `window.h3form` boot.
34
+ - `npm run test:live-workflow` — two-stage workflow + rule write-back via
35
+ `data.save(workflowCode)` → `workitem.list` → `data.submit` → `data.load`.
36
+ - `npm run test:live-permission` — node field permissions read from
37
+ `form/load.formPermission.dataPermissions` as a NON-admin participant (an
38
+ admin is force-granted `e:true`).
39
+
40
+ ## Negative baseline (must stay green)
41
+
42
+ - Read-only environment → `environment-write-disabled`, zero wire calls.
43
+ - Writable production without `confirmProduction:true` → `production-confirmation-required`, zero wire calls.
44
+ - Concurrent writes → serialized by the write lease (max 1 in flight).
45
+ - Blocked lane (e.g. `W2-permissions`) → refused with citation.
46
+ - Transport outage during a write → `uncertain` + `frozen`, never `ok`.
47
+ - Non-8.6 version (or missing version evidence) → writes fail closed.