Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Specify portable fact conversions and multi-source reconciliation for dialects

Open
#170 1 comment 0 reactions 1 assignee View on GitHub

Maintainers usually reply within 1 day

@kikashy is already working on this.

Since Oct 15, 2026.

Assessment

This issue has not been assessed yet.

Description

Problem

Desk currently stores qualification conversions beside its dialect mapping. Such conversions change prepared facts and can disappear when only the dialect document is exported. Multiple sources also cannot simply write the same target: RFC 0018 forbids overlapping targets.

Scope to decide

  • Inventory text/decimal/JSON-number/boolean conversion behavior against existing copy/rule/calculation facilities. Standardize only the missing deterministic operations or identify an explicit upstream preparation boundary; never silently coerce values in an importer.
  • Preserve missing versus null versus zero/false, reject invalid encodings, specify conversion failures and record transformation lineage.
  • Define how multiple observations of one logical field are reconciled: explicit precedence, conflict or fallback semantics. Preserve the existing target-ownership rule unless a reviewed amendment changes it; no implicit last-writer-wins.
  • Include semantic transformations in the identity/replay chain so an installation can reproduce the facts a pack received.
  • Qualification policy and test expectations remain owned by the pack and its reviewer, not inferred from a conversion or a passing evaluation.

Acceptance

Document which existing forms cover each case; a reviewed amendment only where needed, with exact successful/refused fixtures for numbers, booleans, unknowns, conflicts, fallback and changed transformations. Runtime/Runner readers agree on bytes and diagnostics. Cover GTM and one non-GTM example.

Related: RFC 0018; Desk #400/#402; Runtime #275; Runner #86. No new generic scripting language or arbitrary executable transforms.

Dominant language
Python
Stars
5
Forks
6
Avg merge
6h 15m
Merged PRs (30d)
69

Getting set up

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 Judgment-Pack/judgment-pack-spec

All issues in Judgment-Pack/judgment-pack-spec

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.