Define canonical AllasCode IR schema and semantic IDs

Open
#2 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
30/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript

Research direction

Start with the requirements in schema/allascode-ir.schema.json and map the required IR outputs, provenance, semantic IDs, aliases, unresolved values, and partial-state support. Review the type definitions and JSON/YAML serialization examples as they are added. Done means the versioned schema, identity rules, migration policy, and examples meet all listed acceptance criteria.

Written by the indexing model from the issue text.

Description

Define the canonical, tool-agnostic intermediate representation produced from every supported input source.

Required IR outputs

  • Entities
  • Intents
  • Behaviors
  • Flows
  • Policies
  • Invariants
  • Constraints
  • Schemas
  • Tests

Requirements

  • Stable semantic IDs shared across graph, vector, event, benchmark, provenance, and registry stores.
  • Explicit source provenance for every IR node and field.
  • Versioned schema.
  • Support aliases and canonical labels.
  • Preserve unresolved/ambiguous information instead of silently inventing values.
  • Allow partial IR during progressive elicitation.

Deliverables

  • schema/allascode-ir.schema.json
  • type definitions
  • serialization examples in JSON/YAML
  • semantic identity rules
  • migration/versioning policy

Acceptance criteria

  • Same semantic input from different adapters normalizes to equivalent IR.
  • Every IR artifact is traceable back to source evidence.
  • Schema validates partial and complete specifications separately.
Dominant language
TypeScript
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from suissa/AllasCode-IR

All issues in suissa/AllasCode-IR

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.