@guandata/guanmetric 0.1.17 → 0.1.19

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 (41) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +25 -3
  3. package/bin/platforms.js +44 -0
  4. package/bin/run.js +99 -44
  5. package/package.json +16 -4
  6. package/skills/guanmetric/SKILL.md +53 -8
  7. package/skills/guanmetric/evals/evals.json +117 -0
  8. package/skills/guanmetric/evals/fixtures/atomic-detail-read-model.json +18 -0
  9. package/skills/guanmetric/evals/fixtures/confirmed-template-summary.json +12 -0
  10. package/skills/guanmetric/evals/fixtures/create-result-unknown-state.json +13 -0
  11. package/skills/guanmetric/evals/forward-eval-2026-09-21.json +62 -0
  12. package/skills/guanmetric/references/metric-api-contract-examples.json +690 -0
  13. package/skills/guanmetric/references/metric-api-contract.schema.json +349 -0
  14. package/skills/guanmetric/references/metric-api-contracts.md +436 -0
  15. package/skills/guanmetric/references/metric-atomic-mutation.md +11 -0
  16. package/skills/guanmetric/references/metric-business-dictionary-api-contract-examples.json +53 -0
  17. package/skills/guanmetric/references/metric-business-dictionary-api-contract.schema.json +26 -0
  18. package/skills/guanmetric/references/metric-business-dictionary.md +4 -0
  19. package/skills/guanmetric/references/metric-composite-mutation.md +15 -17
  20. package/skills/guanmetric/references/metric-derived-mutation.md +14 -16
  21. package/skills/guanmetric/references/metric-excel-template.md +14 -4
  22. package/skills/guanmetric/references/metric-flow-generate-example.json +79 -0
  23. package/skills/guanmetric/references/metric-flow-generate.schema.json +93 -0
  24. package/skills/guanmetric/references/metric-flow.md +218 -0
  25. package/skills/guanmetric/references/metric-hierarchy-api-contract-examples.json +171 -0
  26. package/skills/guanmetric/references/metric-hierarchy-api-contract.schema.json +167 -0
  27. package/skills/guanmetric/references/metric-hierarchy-api-contracts.md +193 -0
  28. package/skills/guanmetric/references/metric-mutation.md +13 -9
  29. package/skills/guanmetric/references/metric-public-dimension-api-contract-examples.json +62 -0
  30. package/skills/guanmetric/references/metric-public-dimension-api-contract.schema.json +47 -0
  31. package/skills/guanmetric/references/metric-public-dimension.md +4 -0
  32. package/skills/guanmetric/references/metric-tree-api-contract-examples.json +277 -0
  33. package/skills/guanmetric/references/metric-tree-api-contract.schema.json +263 -0
  34. package/skills/guanmetric/references/metric-tree-api-contracts.md +53 -0
  35. package/skills/guanmetric/references/metric-tree-mutation.md +31 -3
  36. package/skills/guanmetric/references/metric-validation-ownership.md +74 -0
  37. package/binaries/guanmetric-darwin-arm64 +0 -0
  38. package/binaries/guanmetric-darwin-x64 +0 -0
  39. package/binaries/guanmetric-linux-arm64 +0 -0
  40. package/binaries/guanmetric-linux-x64 +0 -0
  41. package/binaries/guanmetric-win32-x64.exe +0 -0
@@ -0,0 +1,13 @@
1
+ {
2
+ "schemaVersion": "1.0",
3
+ "planHash": "plan_hash_example",
4
+ "environment": {"profile": "test153", "baseUrl": "http://test153.example", "domain": "example_domain"},
5
+ "status": "blocked",
6
+ "items": [{
7
+ "key": "sales",
8
+ "subType": "ATOMIC",
9
+ "status": "blocked",
10
+ "stage": "reconcile",
11
+ "error": {"code": "FLOW_CREATE_RESULT_UNKNOWN", "category": "transport", "message": "request timed out before a metricId was returned"}
12
+ }]
13
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "schemaVersion": "1.0",
3
+ "date": "2026-09-21",
4
+ "mode": "blind-forward-eval",
5
+ "environmentWrites": false,
6
+ "summary": {
7
+ "cases": 8,
8
+ "agentDecisionPasses": 8,
9
+ "evalAssertionsCorrected": 2,
10
+ "productGapsFound": 1,
11
+ "productGapsOpen": 0
12
+ },
13
+ "cases": [
14
+ {
15
+ "id": 1,
16
+ "result": "pass",
17
+ "evidence": "Correctly decomposed atomic, composite and derived metrics, and kept the workflow read-only before user confirmation."
18
+ },
19
+ {
20
+ "id": 2,
21
+ "result": "pass-after-eval-correction",
22
+ "evidence": "Did not guess identifiers or definitions. The original assertion incorrectly required the standard Excel path for a single metric; the skill permits the dedicated create path after read-only resolution, confirmation, dry-run and precheck."
23
+ },
24
+ {
25
+ "id": 3,
26
+ "result": "pass",
27
+ "evidence": "Rejected an invalid composite reference to a derived metric and proposed valid alternatives that still require user confirmation."
28
+ },
29
+ {
30
+ "id": 4,
31
+ "result": "pass-after-eval-correction",
32
+ "evidence": "Stopped because the fixture was only a summary and the standard XLSX was absent. The original assertion incorrectly expected Flow generation without its required source artifact."
33
+ },
34
+ {
35
+ "id": 5,
36
+ "result": "pass",
37
+ "evidence": "Used the dedicated edit path, mapped the read model to the write model, preserved source fields, excluded read-only fields and required dry-run and impact validation."
38
+ },
39
+ {
40
+ "id": 6,
41
+ "result": "pass",
42
+ "evidence": "Separated published and draft metrics instead of mixing incompatible states in one Flow."
43
+ },
44
+ {
45
+ "id": 7,
46
+ "result": "pass-with-product-gap",
47
+ "evidence": "The clean retest did not retry creation and kept blocked/reconcile. It also exposed that the CLI has no reconcile/adopt command for safely binding a verified server metric ID back to Flow state.",
48
+ "productGap": "Add a dedicated recovery command with environment identity, planHash, subtype and metric-definition consistency checks; never require manual state editing.",
49
+ "resolution": "Implemented flow reconcile with preview-by-default, explicit confirm, definition checks and a hard no-retry guard in flow apply."
50
+ },
51
+ {
52
+ "id": 8,
53
+ "result": "pass",
54
+ "evidence": "Kept downstream work blocked while approval was pending and did not claim the metric was usable."
55
+ }
56
+ ],
57
+ "notes": [
58
+ "The first case-7 run was excluded because that evaluator opened evals.json.",
59
+ "A clean case-7 retest was used for the recorded result.",
60
+ "No BI resources were created, edited or deleted during this evaluation."
61
+ ]
62
+ }