@its-not-rocket-science/ananke 0.1.67 → 0.1.68
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/CHANGELOG.md +18 -0
- package/README.md +1 -0
- package/STABLE_API.md +2 -0
- package/dist/src/content-pack.d.ts +1 -1
- package/dist/src/content-pack.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,24 @@ Versioning follows [Semantic Versioning](https://semver.org/).
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## [0.1.68] — 2026-04-01
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- **PM-9 — Core Guarantees Technical Paper (complete):**
|
|
14
|
+
- `docs/core-guarantees.md` (new): concise, self-contained reference covering Ananke's full guarantee surface:
|
|
15
|
+
1. **Fixed-point determinism** — the guarantee, how it is enforced (integer arithmetic, no `Math.random()`, insertion-order iteration, corpus hash CI), and what can break it.
|
|
16
|
+
2. **API stability tiers** — what "breaking" means for Tier 1, the pre-1.0 note, and the deprecation lifecycle.
|
|
17
|
+
3. **Schema and wire contracts** — world-state hash, replay format, content-pack checksum, semver range enforcement.
|
|
18
|
+
4. **Validation philosophy** — three claim types: Empirical (source-bounded), Plausibility (first-principles), and Content-layer (definitional).
|
|
19
|
+
5. **Benchmark methodology** — what the numbers mean and do not mean; how to detect correctness vs. performance regressions.
|
|
20
|
+
6. **Known limits** — floating-point interop boundary, JS engine version portability, host clock independence, entity count scalability, numerical overflow handling.
|
|
21
|
+
- Each claim is labelled **Engineering claim**, **Empirical claim**, or **Design principle**.
|
|
22
|
+
- Links added to `README.md` Further Reading table and `STABLE_API.md` intro.
|
|
23
|
+
- 0 new tests (5,593 total). Coverage: 97.06%/88.06%/95.83%/97.06%. Build: clean.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
9
27
|
## [0.1.67] — 2026-04-01
|
|
10
28
|
|
|
11
29
|
### Added
|
package/README.md
CHANGED
|
@@ -420,6 +420,7 @@ Ananke's outputs are validated against historical and experimental sources:
|
|
|
420
420
|
| [`docs/cookbook.md`](docs/cookbook.md) | Task-oriented recipes — duel, 500-agent battle, species, renderer, campaign, replay, and more |
|
|
421
421
|
| [`corpus/README.md`](corpus/README.md) | Scenario corpus — 5 canonical deterministic scenarios (tutorial, benchmark, validation, networking, bridge); run `npm run verify-corpus` |
|
|
422
422
|
| [`docs/module-index.md`](docs/module-index.md) | All 41 entry points — stability tier, use case, key exports, doc links |
|
|
423
|
+
| [`docs/core-guarantees.md`](docs/core-guarantees.md) | Core guarantees — determinism contract, API stability, validation philosophy, known limits |
|
|
423
424
|
| [`docs/host-contract.md`](docs/host-contract.md) | Stable integration surface — everything needed to embed Ananke without reading `src/` |
|
|
424
425
|
| [`docs/integration-primer.md`](docs/integration-primer.md) | Data-flow diagrams, type glossary, gotchas |
|
|
425
426
|
| [`docs/bridge-contract.md`](docs/bridge-contract.md) | 3D renderer bridge protocol (AnimationHints, GrapplePoseConstraint) |
|
package/STABLE_API.md
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
This document defines the three stability tiers for Ananke's public API surface.
|
|
4
4
|
See [`docs/versioning.md`](docs/versioning.md) for the full versioning policy, upgrade
|
|
5
5
|
cadence, and commit-hash pinning guide.
|
|
6
|
+
See [`docs/core-guarantees.md`](docs/core-guarantees.md) for the full determinism contract,
|
|
7
|
+
validation philosophy, benchmark methodology, and known limits.
|
|
6
8
|
|
|
7
9
|
---
|
|
8
10
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { WorldState } from "./sim/world.js";
|
|
2
2
|
/** Current Ananke engine version — used to evaluate pack compatRange at runtime. */
|
|
3
|
-
export declare const ANANKE_ENGINE_VERSION = "0.1.
|
|
3
|
+
export declare const ANANKE_ENGINE_VERSION = "0.1.68";
|
|
4
4
|
/** A single actionable validation failure from `validatePack`. */
|
|
5
5
|
export interface PackValidationError {
|
|
6
6
|
/** JSONPath-style location, e.g. `"$.weapons[2].mass_kg"`. */
|
package/dist/src/content-pack.js
CHANGED
|
@@ -16,7 +16,7 @@ import { registerWorldArchetype, registerWorldItem } from "./world-factory.js";
|
|
|
16
16
|
// ── Version constant ──────────────────────────────────────────────────────────
|
|
17
17
|
// Must be kept in sync with package.json "version" field.
|
|
18
18
|
/** Current Ananke engine version — used to evaluate pack compatRange at runtime. */
|
|
19
|
-
export const ANANKE_ENGINE_VERSION = "0.1.
|
|
19
|
+
export const ANANKE_ENGINE_VERSION = "0.1.68";
|
|
20
20
|
// ── Semver utilities ──────────────────────────────────────────────────────────
|
|
21
21
|
// Lightweight range evaluator — no external dependencies.
|
|
22
22
|
// Supports: >=X.Y.Z >X.Y.Z <=X.Y.Z <X.Y.Z =X.Y.Z ^X.Y.Z ~X.Y.Z
|