@stalfh233/omc-cli 0.4.15 → 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.
- package/LICENSE +21 -21
- package/README.md +297 -297
- package/coverage/m1-coverage-manifest-v1.json +1278 -1277
- package/dist/args.js +0 -0
- package/dist/artifacts.js +0 -0
- package/dist/bench/call-face-eval.js +0 -0
- package/dist/bench/context-attribution.js +0 -0
- package/dist/bench/discovery-cost-eval.js +0 -0
- package/dist/bench/driver.js +0 -0
- package/dist/bench/evals.js +0 -0
- package/dist/bench/fake-http-server.js +0 -0
- package/dist/bench/instrument.js +0 -0
- package/dist/bench/intent-face-eval.js +40 -40
- package/dist/bench/run.js +0 -0
- package/dist/bench/scenario.js +0 -0
- package/dist/bench/types.js +0 -0
- package/dist/bi-wire.js +0 -0
- package/dist/bizservice-config.js +38 -13
- package/dist/call.js +0 -0
- package/dist/capability-absences.js +0 -0
- package/dist/capability-overview.js +2 -2
- package/dist/capability-shape.js +0 -0
- package/dist/cli-contract.js +0 -0
- package/dist/cli-output.js +41 -15
- package/dist/cli.js +22 -2
- package/dist/code-rules.js +0 -0
- package/dist/command-transport.js +0 -0
- package/dist/config-store.js +0 -0
- package/dist/context.js +0 -0
- package/dist/contract-consistency.js +0 -0
- package/dist/contract-resources.js +0 -0
- package/dist/coverage-consistency.js +0 -0
- package/dist/coverage-registry.js +0 -0
- package/dist/coverage.js +0 -0
- package/dist/data-list-filter.js +0 -0
- package/dist/discovery.js +0 -0
- package/dist/endpoints.js +2 -0
- package/dist/environment-policy.js +0 -0
- package/dist/execution-metadata.js +4 -4
- package/dist/fake/app.js +0 -0
- package/dist/fake/b2-registration.js +26 -0
- package/dist/fake/businessrule.js +0 -0
- package/dist/fake/datarule.js +0 -0
- package/dist/fake/dictionary.js +0 -0
- package/dist/fake/environment.js +0 -0
- package/dist/fake/field.js +0 -0
- package/dist/fake/form.js +0 -0
- package/dist/fake/index.js +0 -0
- package/dist/fake/list-view.js +0 -0
- package/dist/fake/model.js +0 -0
- package/dist/fake/online-js.js +0 -0
- package/dist/fake/report.js +0 -0
- package/dist/fake/routes.js +0 -0
- package/dist/fake/rule-lifecycle.js +0 -0
- package/dist/fake/runtime-data.js +0 -0
- package/dist/fake/state.js +0 -0
- package/dist/fake/workflow.js +0 -0
- package/dist/field-change.js +0 -0
- package/dist/field-families.js +0 -0
- package/dist/form-layout.js +0 -0
- package/dist/form-support.js +12 -2
- package/dist/goal-routes.js +0 -0
- package/dist/governed-execution.js +0 -0
- package/dist/human-summary.js +0 -0
- package/dist/identity.js +0 -0
- package/dist/intent/baseline.js +0 -0
- package/dist/intent/capabilities/bizservice.js +0 -0
- package/dist/intent/capabilities/businessrule.js +0 -0
- package/dist/intent/capabilities/datarule.js +0 -0
- package/dist/intent/capabilities/field.js +0 -0
- package/dist/intent/capabilities/form.js +0 -0
- package/dist/intent/capabilities/index.js +0 -0
- package/dist/intent/capabilities/listview.js +0 -0
- package/dist/intent/capabilities/model.js +0 -0
- package/dist/intent/capabilities/onlinejs.js +0 -0
- package/dist/intent/capabilities/report.js +0 -0
- package/dist/intent/capabilities/workflow.js +0 -0
- package/dist/intent/capability.js +0 -0
- package/dist/intent/cli.js +0 -0
- package/dist/intent/compare.js +0 -0
- package/dist/intent/compiler.js +0 -0
- package/dist/intent/dsl.js +0 -0
- package/dist/intent/plan-file.js +0 -0
- package/dist/intent/readback.js +0 -0
- package/dist/intent/schema.js +0 -0
- package/dist/intent/validation.js +0 -0
- package/dist/intent/yaml.js +0 -0
- package/dist/json-column.js +0 -0
- package/dist/lanes/app-contract.js +0 -0
- package/dist/lanes/app-coverage.js +0 -0
- package/dist/lanes/app.js +0 -0
- package/dist/lanes/apply-changes.js +14 -1
- package/dist/lanes/b2-registration-contract.js +5 -0
- package/dist/lanes/b2-registration-coverage.js +1 -0
- package/dist/lanes/b2-registration.js +55 -6
- package/dist/lanes/businessrule-contract.js +0 -0
- package/dist/lanes/businessrule-coverage.js +0 -0
- package/dist/lanes/businessrule.js +0 -0
- package/dist/lanes/contract-support.js +0 -0
- package/dist/lanes/coverage-declaration.js +0 -0
- package/dist/lanes/datarule-contract.js +0 -0
- package/dist/lanes/datarule-coverage.js +0 -0
- package/dist/lanes/datarule-protocol.js +0 -0
- package/dist/lanes/datarule.js +0 -0
- package/dist/lanes/dictionary-contract.js +0 -0
- package/dist/lanes/dictionary-coverage.js +0 -0
- package/dist/lanes/dictionary.js +0 -0
- package/dist/lanes/environment-contract.js +0 -0
- package/dist/lanes/environment-coverage.js +0 -0
- package/dist/lanes/environment.js +0 -0
- package/dist/lanes/field-contract.js +3 -2
- package/dist/lanes/field-coverage.js +0 -0
- package/dist/lanes/field.js +268 -172
- package/dist/lanes/form-contract.js +2 -2
- package/dist/lanes/form-coverage.js +0 -0
- package/dist/lanes/form.js +4 -0
- package/dist/lanes/lane-ids.js +0 -0
- package/dist/lanes/list-view-contract.js +0 -0
- package/dist/lanes/list-view-coverage.js +0 -0
- package/dist/lanes/list-view-shapes.js +0 -0
- package/dist/lanes/list-view.js +0 -0
- package/dist/lanes/meta-contract.js +0 -0
- package/dist/lanes/meta.js +11 -1
- package/dist/lanes/model-contract.js +0 -0
- package/dist/lanes/model-coverage.js +0 -0
- package/dist/lanes/model.js +1 -1
- package/dist/lanes/online-js-contract.js +0 -0
- package/dist/lanes/online-js-coverage.js +0 -0
- package/dist/lanes/online-js.js +0 -0
- package/dist/lanes/report-contract.js +0 -0
- package/dist/lanes/report-coverage.js +0 -0
- package/dist/lanes/report.js +0 -0
- package/dist/lanes/rule-graph.js +0 -0
- package/dist/lanes/rule-lifecycle-contract.js +0 -0
- package/dist/lanes/rule-lifecycle-coverage.js +0 -0
- package/dist/lanes/rule-lifecycle.js +0 -0
- package/dist/lanes/runtime-data-contract.js +0 -0
- package/dist/lanes/runtime-data-coverage.js +0 -0
- package/dist/lanes/runtime-data.js +0 -0
- package/dist/lanes/workflow-contract.js +0 -0
- package/dist/lanes/workflow-coverage.js +0 -0
- package/dist/lanes/workflow.js +2 -0
- package/dist/omc-core-lazy.js +6 -0
- package/dist/online-js-layout.js +0 -0
- package/dist/online-js-source.js +28 -28
- package/dist/package-tool.js +0 -0
- package/dist/package.js +0 -0
- package/dist/plan.js +11 -1
- package/dist/read.js +0 -0
- package/dist/redact.js +0 -0
- package/dist/rule-support.js +0 -0
- package/dist/runtime-support.js +0 -0
- package/dist/service-doctor.js +28 -0
- package/dist/session-manager.js +0 -0
- package/dist/session.js +38 -12
- package/dist/skills.js +0 -0
- package/dist/sqlite-warning-filter.js +27 -0
- package/dist/support.js +0 -0
- package/dist/tool-types.js +0 -0
- package/dist/tools.js +0 -0
- package/dist/usage-log.js +4 -0
- package/dist/wire.js +0 -0
- package/dist/workflow-support.js +0 -0
- package/dist/write-lease.js +0 -0
- package/dist/write-lock.js +0 -0
- package/dist/write.js +24 -2
- package/dist/zip.js +0 -0
- package/docs/tool-surface-map.md +42 -42
- package/package.json +71 -71
- package/skills/omc-acceptance-criteria.md +47 -47
- package/skills/omc-business-configuration.md +258 -257
- package/skills/omc-capabilities.md +197 -197
- package/skills/omc-capability-scouting.md +55 -55
- package/skills/omc-config-draft-review.md +171 -171
- package/skills/omc-five-piece-flow.md +35 -35
- package/skills/omc-glossary.md +86 -86
- package/skills/omc-refusals.md +110 -110
- package/skills/omc-requirement-analysis.md +161 -161
- package/skills/omc-requirement-vocabulary.md +51 -51
- package/skills/omc-start-here.md +82 -82
- package/skills/omc-tool-selection.md +119 -119
- package/skills/omc-write-hazards.md +88 -87
- package/dist/approval-token.js +0 -102
- 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.
|