@cynodia/axiom-server 0.17.0-alpha.1 → 1.0.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.
Files changed (109) hide show
  1. package/README.md +1 -1
  2. package/conformance/authenticated-client-rejects-system-only-action.json +1 -1
  3. package/conformance/authorization/action-allow-deny-anonymous.json +1 -1
  4. package/conformance/authorization/constant-deny-policy.json +1 -1
  5. package/conformance/authorization/legacy-action-constant-public.json +1 -1
  6. package/conformance/authorization/legacy-action-neq-absent-deny.json +1 -1
  7. package/conformance/authorization/legacy-action-not-eq-absent-deny.json +1 -1
  8. package/conformance/authorization/legacy-action-positive-role.json +1 -1
  9. package/conformance/authorization/legacy-plus-policy-absent-conjunction.json +1 -1
  10. package/conformance/authorization/live-query-resume.json +1 -1
  11. package/conformance/authorization/manifest.json +1 -1
  12. package/conformance/authorization/operation-scope.json +1 -1
  13. package/conformance/authorization/pt2-deny-list-absent-value.json +1 -1
  14. package/conformance/authorization/pt2-owner-both-absent.json +1 -1
  15. package/conformance/authorization/query-public-preserved.json +1 -1
  16. package/conformance/authorization/query-tenant-isolation.json +1 -1
  17. package/conformance/authorization/workflow-cancellation-owner.json +1 -1
  18. package/conformance/authorization/workflow-cancellation-policy.json +1 -1
  19. package/conformance/authorization/workflow-inspection.json +1 -1
  20. package/conformance/authorization/workflow-start.json +1 -1
  21. package/conformance/conversion-number-to-text.json +184 -0
  22. package/conformance/conversion-text-to-number.json +204 -0
  23. package/conformance/distributed/manifest.json +1 -1
  24. package/conformance/effect-retry-sequence.json +1 -1
  25. package/conformance/effect-success-event.json +1 -1
  26. package/conformance/event-payload-invalid.json +1 -1
  27. package/conformance/failed-effect-structured-outcome.json +1 -1
  28. package/conformance/integration-query-success.json +1 -1
  29. package/conformance/integration-query-timeout.json +1 -1
  30. package/conformance/late-query-rejection-after-timeout.json +1 -1
  31. package/conformance/late-query-result-after-timeout.json +1 -1
  32. package/conformance/live/aggregate-reset.json +1 -1
  33. package/conformance/live/dependency-commit-no-change.json +1 -1
  34. package/conformance/live/f2-state-ref-refused.json +1 -1
  35. package/conformance/live/initial-result.json +1 -1
  36. package/conformance/live/insert-on-filter-entry.json +1 -1
  37. package/conformance/live/limit-boundary.json +1 -1
  38. package/conformance/live/manifest.json +1 -1
  39. package/conformance/live/not-live-capable.json +1 -1
  40. package/conformance/live/provider-only-sequence.json +1 -1
  41. package/conformance/live/provider-record-remove.json +1 -1
  42. package/conformance/live/remove-on-filter-exit.json +1 -1
  43. package/conformance/live/update-with-move.json +1 -1
  44. package/conformance/live/update-without-move.json +1 -1
  45. package/conformance/manifest.json +43 -1
  46. package/conformance/migrations/add-optional-field.json +1 -1
  47. package/conformance/migrations/add-required-field-with-default.json +1 -1
  48. package/conformance/migrations/crash-and-resume.json +1 -1
  49. package/conformance/migrations/destructive-removal-approved.json +1 -1
  50. package/conformance/migrations/destructive-removal-refused.json +1 -1
  51. package/conformance/migrations/idempotent-rerun.json +1 -1
  52. package/conformance/migrations/invalid-target-record.json +1 -1
  53. package/conformance/migrations/large-batched-transformation.json +1 -1
  54. package/conformance/migrations/manifest.json +1 -1
  55. package/conformance/migrations/metadata-only-change.json +1 -1
  56. package/conformance/migrations/migration-lock.json +1 -1
  57. package/conformance/migrations/missing-migration-path.json +1 -1
  58. package/conformance/migrations/record-transformation.json +1 -1
  59. package/conformance/migrations/relationship-addition.json +1 -1
  60. package/conformance/migrations/remove-empty-field.json +1 -1
  61. package/conformance/migrations/schema-fingerprint-mismatch.json +1 -1
  62. package/conformance/migrations/transform-field.json +1 -1
  63. package/conformance/normalization/manifest.json +1 -1
  64. package/conformance/normalization/non-array-required-collection.json +1 -1
  65. package/conformance/normalization/non-normalized-extra-guard.json +1 -1
  66. package/conformance/normalization/non-normalized-mismatched-guard.json +1 -1
  67. package/conformance/normalization/null-node-array-entry.json +1 -1
  68. package/conformance/normalization/null-node-map-entry.json +1 -1
  69. package/conformance/normalization/null-operation.json +1 -1
  70. package/conformance/normalization/primitive-node-map-entry.json +1 -1
  71. package/conformance/normalization/valid-control.json +1 -1
  72. package/conformance/queries/aggregate-under-policy.json +1 -1
  73. package/conformance/queries/count-aggregate.json +1 -1
  74. package/conformance/queries/cursor-page-1.json +1 -1
  75. package/conformance/queries/cursor-page-2.json +1 -1
  76. package/conformance/queries/filter-compound.json +1 -1
  77. package/conformance/queries/filter-equality.json +1 -1
  78. package/conformance/queries/grouped-sum.json +1 -1
  79. package/conformance/queries/invalid-cursor.json +1 -1
  80. package/conformance/queries/manifest.json +1 -1
  81. package/conformance/queries/multi-key-sort.json +1 -1
  82. package/conformance/queries/null-ordering.json +1 -1
  83. package/conformance/queries/projection-shape.json +1 -1
  84. package/conformance/queries/query-inside-transaction.json +1 -1
  85. package/conformance/queries/relationship-under-policy.json +1 -1
  86. package/conformance/queries/row-read-policy.json +1 -1
  87. package/conformance/queries/stable-ordering.json +1 -1
  88. package/conformance/queries/to-one-relationship.json +1 -1
  89. package/conformance/rolled-back-action-produces-no-effect.json +1 -1
  90. package/conformance/simultaneous-same-instant-triggers-both-commit.json +1 -1
  91. package/conformance/system-only-action-rejects-client.json +1 -1
  92. package/conformance/timed-trigger-polling.json +1 -1
  93. package/conformance/unknown-event-refused.json +695 -0
  94. package/conformance/verified-external-event-invokes-system-only-action.json +1 -1
  95. package/conformance/workflow/manifest.json +1 -1
  96. package/conformance/workflow/workflow-action-on-error.json +1 -1
  97. package/conformance/workflow/workflow-action-retry.json +1 -1
  98. package/conformance/workflow/workflow-action-success.json +1 -1
  99. package/conformance/workflow/workflow-action-terminal-failure.json +1 -1
  100. package/conformance/workflow/workflow-branch-false.json +1 -1
  101. package/conformance/workflow/workflow-branch-true.json +1 -1
  102. package/conformance/workflow/workflow-cancel-waiting.json +1 -1
  103. package/conformance/workflow/workflow-event-match.json +1 -1
  104. package/conformance/workflow/workflow-event-nonmatch.json +1 -1
  105. package/conformance/workflow/workflow-event-timeout.json +1 -1
  106. package/conformance/workflow/workflow-start-complete.json +1 -1
  107. package/conformance/workflow/workflow-start-idempotency.json +1 -1
  108. package/conformance/workflow/workflow-timer.json +1 -1
  109. package/package.json +6 -3
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  Part of [Axiom](https://github.com/cynodia/axiom), an AI-native semantic web application
4
4
  framework.
5
5
 
6
- **Status: experimental / alpha.** The API may change between alpha releases.
6
+ **Status: stable (1.0.0).** The public API and portable semantics follow the 1.x compatibility policy (`docs/COMPATIBILITY.md`, shipped in @cynodia/axiom).
7
7
 
8
8
  **AI agents:** read `docs/AGENT_REFERENCE.md` and `docs/AUTHORITY.md` inside the installed
9
9
  `@cynodia/axiom` package before authoring an application. This package's semantics are
@@ -13,7 +13,7 @@
13
13
  "contract": "axiom.server.v4",
14
14
  "id": "conformance-integrations",
15
15
  "name": "Conformance integrations",
16
- "version": "0.17.0",
16
+ "version": "1.0.0",
17
17
  "entities": [
18
18
  {
19
19
  "id": "entity_effect_outcome",
@@ -103,7 +103,7 @@
103
103
  "contract": "axiom.server.v9",
104
104
  "id": "authz-conformance",
105
105
  "name": "Authorization Conformance",
106
- "version": "0.17.0-alpha.1",
106
+ "version": "1.0.0",
107
107
  "entities": [
108
108
  {
109
109
  "id": "entity_user",
@@ -84,7 +84,7 @@
84
84
  "contract": "axiom.server.v9",
85
85
  "id": "authz-conformance",
86
86
  "name": "Authorization Conformance",
87
- "version": "0.17.0-alpha.1",
87
+ "version": "1.0.0",
88
88
  "entities": [
89
89
  {
90
90
  "id": "entity_user",
@@ -83,7 +83,7 @@
83
83
  "contract": "axiom.server.v9",
84
84
  "id": "authz-conformance",
85
85
  "name": "Authorization Conformance",
86
- "version": "0.17.0-alpha.1",
86
+ "version": "1.0.0",
87
87
  "entities": [
88
88
  {
89
89
  "id": "entity_user",
@@ -112,7 +112,7 @@
112
112
  "contract": "axiom.server.v9",
113
113
  "id": "authz-conformance",
114
114
  "name": "Authorization Conformance",
115
- "version": "0.17.0-alpha.1",
115
+ "version": "1.0.0",
116
116
  "entities": [
117
117
  {
118
118
  "id": "entity_user",
@@ -112,7 +112,7 @@
112
112
  "contract": "axiom.server.v9",
113
113
  "id": "authz-conformance",
114
114
  "name": "Authorization Conformance",
115
- "version": "0.17.0-alpha.1",
115
+ "version": "1.0.0",
116
116
  "entities": [
117
117
  {
118
118
  "id": "entity_user",
@@ -112,7 +112,7 @@
112
112
  "contract": "axiom.server.v9",
113
113
  "id": "authz-conformance",
114
114
  "name": "Authorization Conformance",
115
- "version": "0.17.0-alpha.1",
115
+ "version": "1.0.0",
116
116
  "entities": [
117
117
  {
118
118
  "id": "entity_user",
@@ -103,7 +103,7 @@
103
103
  "contract": "axiom.server.v9",
104
104
  "id": "authz-conformance",
105
105
  "name": "Authorization Conformance",
106
- "version": "0.17.0-alpha.1",
106
+ "version": "1.0.0",
107
107
  "entities": [
108
108
  {
109
109
  "id": "entity_user",
@@ -114,7 +114,7 @@
114
114
  "contract": "axiom.server.v9",
115
115
  "id": "authz-conformance",
116
116
  "name": "Authorization Conformance",
117
- "version": "0.17.0-alpha.1",
117
+ "version": "1.0.0",
118
118
  "entities": [
119
119
  {
120
120
  "id": "entity_user",
@@ -2,7 +2,7 @@
2
2
  "conformance": "axiom.conformance.v9",
3
3
  "baseContract": "axiom.server.v9",
4
4
  "protocol": "axiom.protocol.v1",
5
- "release": "0.17.0-alpha.1",
5
+ "release": "1.0.0",
6
6
  "description": "Portable authorization conformance fixtures (spec15 §71-§73). Each file carries a compiled axiom.server.v9 Server IR, the principal records each credential resolves to, provider seed rows, and a deterministic driver script — every step carrying the decision the fixture author computed independently (ALLOW/DENY, and for a query the exact authorized row set). Running one needs only runAuthorizationConformanceFixture from @cynodia/axiom-server and the semantics in docs/AUTHORIZATION.md. Full mixed-build semantic-fingerprint divergence and real-process crash boundaries are the spec15 Phase I suite.",
7
7
  "fixtures": [
8
8
  {
@@ -83,7 +83,7 @@
83
83
  "contract": "axiom.server.v9",
84
84
  "id": "authz-conformance",
85
85
  "name": "Authorization Conformance",
86
- "version": "0.17.0-alpha.1",
86
+ "version": "1.0.0",
87
87
  "entities": [
88
88
  {
89
89
  "id": "entity_user",
@@ -111,7 +111,7 @@
111
111
  "contract": "axiom.server.v9",
112
112
  "id": "authz-conformance",
113
113
  "name": "Authorization Conformance",
114
- "version": "0.17.0-alpha.1",
114
+ "version": "1.0.0",
115
115
  "entities": [
116
116
  {
117
117
  "id": "entity_user",
@@ -102,7 +102,7 @@
102
102
  "contract": "axiom.server.v9",
103
103
  "id": "authz-conformance",
104
104
  "name": "Authorization Conformance",
105
- "version": "0.17.0-alpha.1",
105
+ "version": "1.0.0",
106
106
  "entities": [
107
107
  {
108
108
  "id": "entity_user",
@@ -83,7 +83,7 @@
83
83
  "contract": "axiom.server.v9",
84
84
  "id": "authz-conformance",
85
85
  "name": "Authorization Conformance",
86
- "version": "0.17.0-alpha.1",
86
+ "version": "1.0.0",
87
87
  "entities": [
88
88
  {
89
89
  "id": "entity_user",
@@ -113,7 +113,7 @@
113
113
  "contract": "axiom.server.v9",
114
114
  "id": "authz-conformance",
115
115
  "name": "Authorization Conformance",
116
- "version": "0.17.0-alpha.1",
116
+ "version": "1.0.0",
117
117
  "entities": [
118
118
  {
119
119
  "id": "entity_user",
@@ -102,7 +102,7 @@
102
102
  "contract": "axiom.server.v9",
103
103
  "id": "authz-conformance",
104
104
  "name": "Authorization Conformance",
105
- "version": "0.17.0-alpha.1",
105
+ "version": "1.0.0",
106
106
  "entities": [
107
107
  {
108
108
  "id": "entity_user",
@@ -109,7 +109,7 @@
109
109
  "contract": "axiom.server.v9",
110
110
  "id": "authz-conformance",
111
111
  "name": "Authorization Conformance",
112
- "version": "0.17.0-alpha.1",
112
+ "version": "1.0.0",
113
113
  "entities": [
114
114
  {
115
115
  "id": "entity_user",
@@ -108,7 +108,7 @@
108
108
  "contract": "axiom.server.v9",
109
109
  "id": "authz-conformance",
110
110
  "name": "Authorization Conformance",
111
- "version": "0.17.0-alpha.1",
111
+ "version": "1.0.0",
112
112
  "entities": [
113
113
  {
114
114
  "id": "entity_user",
@@ -98,7 +98,7 @@
98
98
  "contract": "axiom.server.v9",
99
99
  "id": "authz-conformance",
100
100
  "name": "Authorization Conformance",
101
- "version": "0.17.0-alpha.1",
101
+ "version": "1.0.0",
102
102
  "entities": [
103
103
  {
104
104
  "id": "entity_user",
@@ -0,0 +1,184 @@
1
+ {
2
+ "conformance": "axiom.conformance.v1",
3
+ "name": "conversion-number-to-text",
4
+ "covers": [
5
+ "expression evaluation",
6
+ "conversions"
7
+ ],
8
+ "description": "spec17 SEM-1: number → canonical decimal string. Fixed notation within 1e-6 ≤ |x| < 1e21, exponential outside it, shortest round-trip digits, no trailing zeros — the ECMAScript Number::toString radix-10 algorithm restated language-neutrally in docs/EXPRESSIONS.md#conversions.",
9
+ "principals": {},
10
+ "serverIR": {
11
+ "contract": "axiom.server.v1",
12
+ "id": "conformance-conversion",
13
+ "name": "Conformance conversion",
14
+ "version": "0.6.0",
15
+ "entities": [],
16
+ "fields": {},
17
+ "states": [
18
+ {
19
+ "id": "state_conv_log",
20
+ "kind": "state",
21
+ "name": "log",
22
+ "authority": "server",
23
+ "valueType": {
24
+ "kind": "collection",
25
+ "itemType": {
26
+ "kind": "primitive",
27
+ "primitive": "string"
28
+ }
29
+ },
30
+ "initialValue": []
31
+ }
32
+ ],
33
+ "actions": {
34
+ "action_text_to_number": {
35
+ "id": "action_text_to_number",
36
+ "kind": "action",
37
+ "name": "textToNumber",
38
+ "parameters": [
39
+ {
40
+ "id": "param_text",
41
+ "valueType": {
42
+ "kind": "primitive",
43
+ "primitive": "string"
44
+ },
45
+ "required": true
46
+ }
47
+ ],
48
+ "operations": [
49
+ {
50
+ "kind": "insert",
51
+ "target": {
52
+ "kind": "state",
53
+ "stateId": "state_conv_log"
54
+ },
55
+ "value": {
56
+ "kind": "call",
57
+ "function": "to-string",
58
+ "arguments": [
59
+ {
60
+ "kind": "binary",
61
+ "operator": "add",
62
+ "left": {
63
+ "kind": "ref",
64
+ "targetId": "param_text"
65
+ },
66
+ "right": {
67
+ "kind": "literal",
68
+ "value": 0
69
+ }
70
+ }
71
+ ]
72
+ }
73
+ }
74
+ ],
75
+ "preconditions": [],
76
+ "failureModes": []
77
+ },
78
+ "action_number_to_text": {
79
+ "id": "action_number_to_text",
80
+ "kind": "action",
81
+ "name": "numberToText",
82
+ "parameters": [
83
+ {
84
+ "id": "param_num",
85
+ "valueType": {
86
+ "kind": "primitive",
87
+ "primitive": "number"
88
+ },
89
+ "required": true
90
+ }
91
+ ],
92
+ "operations": [
93
+ {
94
+ "kind": "insert",
95
+ "target": {
96
+ "kind": "state",
97
+ "stateId": "state_conv_log"
98
+ },
99
+ "value": {
100
+ "kind": "call",
101
+ "function": "to-string",
102
+ "arguments": [
103
+ {
104
+ "kind": "ref",
105
+ "targetId": "param_num"
106
+ }
107
+ ]
108
+ }
109
+ }
110
+ ],
111
+ "preconditions": [],
112
+ "failureModes": []
113
+ }
114
+ },
115
+ "constraints": [],
116
+ "transitionConstraints": [],
117
+ "observableStateIds": [
118
+ "state_conv_log"
119
+ ]
120
+ },
121
+ "initialState": [
122
+ {
123
+ "stateId": "state_conv_log",
124
+ "value": [],
125
+ "revision": 1
126
+ }
127
+ ],
128
+ "invocations": [
129
+ {
130
+ "actionId": "action_number_to_text",
131
+ "arguments": {
132
+ "param_num": 123456789
133
+ },
134
+ "expect": {
135
+ "ok": true
136
+ }
137
+ },
138
+ {
139
+ "actionId": "action_number_to_text",
140
+ "arguments": {
141
+ "param_num": 0.5
142
+ },
143
+ "expect": {
144
+ "ok": true
145
+ }
146
+ },
147
+ {
148
+ "actionId": "action_number_to_text",
149
+ "arguments": {
150
+ "param_num": 1e+21
151
+ },
152
+ "expect": {
153
+ "ok": true
154
+ }
155
+ },
156
+ {
157
+ "actionId": "action_number_to_text",
158
+ "arguments": {
159
+ "param_num": 1e-7
160
+ },
161
+ "expect": {
162
+ "ok": true
163
+ }
164
+ },
165
+ {
166
+ "actionId": "action_number_to_text",
167
+ "arguments": {
168
+ "param_num": 1000000
169
+ },
170
+ "expect": {
171
+ "ok": true
172
+ }
173
+ }
174
+ ],
175
+ "expectedState": {
176
+ "state_conv_log": [
177
+ "123456789",
178
+ "0.5",
179
+ "1e+21",
180
+ "1e-7",
181
+ "1000000"
182
+ ]
183
+ }
184
+ }
@@ -0,0 +1,204 @@
1
+ {
2
+ "conformance": "axiom.conformance.v1",
3
+ "name": "conversion-text-to-number",
4
+ "covers": [
5
+ "expression evaluation",
6
+ "conversions"
7
+ ],
8
+ "description": "spec17 SEM-1: text → number coercion (add(text, 0)) then canonical decimal text. Trimmed decimal, empty text (→ 0), exponent form, radix-prefixed 0x1F (→ 31), and unparseable text (→ NaN → \"NaN\") each map by the language-neutral rules in docs/EXPRESSIONS.md#conversions.",
9
+ "principals": {},
10
+ "serverIR": {
11
+ "contract": "axiom.server.v1",
12
+ "id": "conformance-conversion",
13
+ "name": "Conformance conversion",
14
+ "version": "0.6.0",
15
+ "entities": [],
16
+ "fields": {},
17
+ "states": [
18
+ {
19
+ "id": "state_conv_log",
20
+ "kind": "state",
21
+ "name": "log",
22
+ "authority": "server",
23
+ "valueType": {
24
+ "kind": "collection",
25
+ "itemType": {
26
+ "kind": "primitive",
27
+ "primitive": "string"
28
+ }
29
+ },
30
+ "initialValue": []
31
+ }
32
+ ],
33
+ "actions": {
34
+ "action_text_to_number": {
35
+ "id": "action_text_to_number",
36
+ "kind": "action",
37
+ "name": "textToNumber",
38
+ "parameters": [
39
+ {
40
+ "id": "param_text",
41
+ "valueType": {
42
+ "kind": "primitive",
43
+ "primitive": "string"
44
+ },
45
+ "required": true
46
+ }
47
+ ],
48
+ "operations": [
49
+ {
50
+ "kind": "insert",
51
+ "target": {
52
+ "kind": "state",
53
+ "stateId": "state_conv_log"
54
+ },
55
+ "value": {
56
+ "kind": "call",
57
+ "function": "to-string",
58
+ "arguments": [
59
+ {
60
+ "kind": "binary",
61
+ "operator": "add",
62
+ "left": {
63
+ "kind": "ref",
64
+ "targetId": "param_text"
65
+ },
66
+ "right": {
67
+ "kind": "literal",
68
+ "value": 0
69
+ }
70
+ }
71
+ ]
72
+ }
73
+ }
74
+ ],
75
+ "preconditions": [],
76
+ "failureModes": []
77
+ },
78
+ "action_number_to_text": {
79
+ "id": "action_number_to_text",
80
+ "kind": "action",
81
+ "name": "numberToText",
82
+ "parameters": [
83
+ {
84
+ "id": "param_num",
85
+ "valueType": {
86
+ "kind": "primitive",
87
+ "primitive": "number"
88
+ },
89
+ "required": true
90
+ }
91
+ ],
92
+ "operations": [
93
+ {
94
+ "kind": "insert",
95
+ "target": {
96
+ "kind": "state",
97
+ "stateId": "state_conv_log"
98
+ },
99
+ "value": {
100
+ "kind": "call",
101
+ "function": "to-string",
102
+ "arguments": [
103
+ {
104
+ "kind": "ref",
105
+ "targetId": "param_num"
106
+ }
107
+ ]
108
+ }
109
+ }
110
+ ],
111
+ "preconditions": [],
112
+ "failureModes": []
113
+ }
114
+ },
115
+ "constraints": [],
116
+ "transitionConstraints": [],
117
+ "observableStateIds": [
118
+ "state_conv_log"
119
+ ]
120
+ },
121
+ "initialState": [
122
+ {
123
+ "stateId": "state_conv_log",
124
+ "value": [],
125
+ "revision": 1
126
+ }
127
+ ],
128
+ "invocations": [
129
+ {
130
+ "actionId": "action_text_to_number",
131
+ "arguments": {
132
+ "param_text": " 5 "
133
+ },
134
+ "expect": {
135
+ "ok": true
136
+ }
137
+ },
138
+ {
139
+ "actionId": "action_text_to_number",
140
+ "arguments": {
141
+ "param_text": ""
142
+ },
143
+ "expect": {
144
+ "ok": true
145
+ }
146
+ },
147
+ {
148
+ "actionId": "action_text_to_number",
149
+ "arguments": {
150
+ "param_text": "1e3"
151
+ },
152
+ "expect": {
153
+ "ok": true
154
+ }
155
+ },
156
+ {
157
+ "actionId": "action_text_to_number",
158
+ "arguments": {
159
+ "param_text": "-1.5"
160
+ },
161
+ "expect": {
162
+ "ok": true
163
+ }
164
+ },
165
+ {
166
+ "actionId": "action_text_to_number",
167
+ "arguments": {
168
+ "param_text": "0x1F"
169
+ },
170
+ "expect": {
171
+ "ok": true
172
+ }
173
+ },
174
+ {
175
+ "actionId": "action_text_to_number",
176
+ "arguments": {
177
+ "param_text": "1_000"
178
+ },
179
+ "expect": {
180
+ "ok": true
181
+ }
182
+ },
183
+ {
184
+ "actionId": "action_text_to_number",
185
+ "arguments": {
186
+ "param_text": "abc"
187
+ },
188
+ "expect": {
189
+ "ok": true
190
+ }
191
+ }
192
+ ],
193
+ "expectedState": {
194
+ "state_conv_log": [
195
+ "5",
196
+ "0",
197
+ "1000",
198
+ "-1.5",
199
+ "31",
200
+ "NaN",
201
+ "NaN"
202
+ ]
203
+ }
204
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "conformance": "axiom.conformance.v6",
3
3
  "baseContract": "axiom.server.v7",
4
- "release": "0.17.0-alpha.1",
4
+ "release": "1.0.0",
5
5
  "description": "Portable distributed-authority conformance fixtures (spec12 §59, §85). Each is a deterministic step list against the memory reference providers with a fixed clock and token sequence. Server IR is retained at axiom.server.v7 — 0.12 adds no IR vocabulary (spec12 §58).",
6
6
  "covers": [
7
7
  "lease acquisition",
@@ -11,7 +11,7 @@
11
11
  "contract": "axiom.server.v4",
12
12
  "id": "conformance-integrations",
13
13
  "name": "Conformance integrations",
14
- "version": "0.17.0",
14
+ "version": "1.0.0",
15
15
  "entities": [
16
16
  {
17
17
  "id": "entity_effect_outcome",
@@ -12,7 +12,7 @@
12
12
  "contract": "axiom.server.v4",
13
13
  "id": "conformance-integrations",
14
14
  "name": "Conformance integrations",
15
- "version": "0.17.0",
15
+ "version": "1.0.0",
16
16
  "entities": [
17
17
  {
18
18
  "id": "entity_effect_outcome",
@@ -10,7 +10,7 @@
10
10
  "contract": "axiom.server.v4",
11
11
  "id": "conformance-integrations",
12
12
  "name": "Conformance integrations",
13
- "version": "0.17.0",
13
+ "version": "1.0.0",
14
14
  "entities": [
15
15
  {
16
16
  "id": "entity_effect_outcome",
@@ -11,7 +11,7 @@
11
11
  "contract": "axiom.server.v4",
12
12
  "id": "conformance-integrations",
13
13
  "name": "Conformance integrations",
14
- "version": "0.17.0",
14
+ "version": "1.0.0",
15
15
  "entities": [
16
16
  {
17
17
  "id": "entity_effect_outcome",
@@ -10,7 +10,7 @@
10
10
  "contract": "axiom.server.v4",
11
11
  "id": "conformance-integrations",
12
12
  "name": "Conformance integrations",
13
- "version": "0.17.0",
13
+ "version": "1.0.0",
14
14
  "entities": [
15
15
  {
16
16
  "id": "entity_effect_outcome",
@@ -11,7 +11,7 @@
11
11
  "contract": "axiom.server.v4",
12
12
  "id": "conformance-integrations",
13
13
  "name": "Conformance integrations",
14
- "version": "0.17.0",
14
+ "version": "1.0.0",
15
15
  "entities": [
16
16
  {
17
17
  "id": "entity_effect_outcome",