Skip to content

TypeScript port of the core (model + store + operators) #5

Description

@michalstrnadel

The core is Python for v0.1; a TypeScript port is explicitly deferred (SPEC §4.5) but wanted — it would let scorekeeper run natively inside JS/TS agent harnesses.

Task (large, milestone): scaffold core-ts/ mirroring the Python model + store + operators, so JS harnesses can maintain a scoreboard without a Python dependency.

Sensible first slice (doesn't need the LLM parts):

  • Commitment type + the deontic vocabulary (kinds, statuses, entitlement sources)
  • transparent store: YAML/JSON records + log.jsonl + scoreboard.md/digest generation
  • Tier-0 deterministic attr-collision check and the operators (ASSERT/SUPPORT/REFINE/SUPERSEDE/BRANCH-CONFLICT) — the core distinction
  • port the golden round-trip + operator tests from core/tests/

Keep parity with the Python schema (same YAML on disk, so both can read one board). LLM extraction/detection can come later behind the same ModelBackend shape.

This is a big one — comment to claim it, and let's scope a first PR together. Great for someone who wants to own a subsystem. See CONTRIBUTING.md → "Port the core".

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions