SuperAPI AI Directory

gdas-reader

Coding & development

View repository

Updated 10-17 14:07

About this skill

GDAS-reader

Read an artifact and write ledger.json. This skill does not create a Godot scene or a Bevy crate. godot-rea and bevy-rea do that from the ledger.

When to use

Load this when the input is a folder or a shipped file and the output must be a reconstruction in Godot or Bevy. Run the reader first. Hand the ledger to one emitter.

python skills/gdas-reader/scripts/read_artifact.py P:\artifact --out P:\work\ledger.json
python skills/gdas-reader/scripts/read_artifact.py --self-test

Schema: references/ledger.md.

What the reader records

Artifact Confirmed facts What stays partial or unknown
Source tree Declarations, including class_name, async fn, and pub(crate) fn. UI-shaped string literals. State-looking names (state, phase, mode) stay partial.
Web bundle Document title outside script and style, headings, script URLs, image URLs, JSON key paths for every array element Behavior inside minified scripts. A folder is also scanned for source, assets, and WASM instead of dropping them.
Asset folder File path, media type, and source_path Bytes stay put unless --allow-assets and a real --license-note are both set
WASM Export names, import module and field names, up to 10 ASCII runs Function bodies. Non-ASCII text. A truncated section becomes unknown instead of a crash.
PE or ELF Format identification and readable strings Machine code. A .dll or .so string is partial because the import table is not walked. A short header becomes unknown.

The reader is stdlib Python. It does not call an external decompiler. A native binary contributes a header walk, imports, and strings. Packed or encrypted sections become unknown entries.

Ledger honesty

Score the ledger before an emitter runs. Bands are additive. A ledger below 3 does not get emitted as gameplay.

Band Rule
0 Entries claim behavior the file does not show.
1 Status is missing, or every guess is marked confirmed.
2 Status values exist, but limits hides a format the reader cannot parse.
3 Each entry has id, status, evidence, and a skill suggestion. unknown is listed.
4 Caps and license gaps are in limits. No asset bytes were copied. Partial names are not described as working mechanics.

NEVER

  • NEVER mark a symbol confirmed because its name looks like health, damage, or save. Those matches are partial.
  • NEVER copy image, audio, or glTF bytes unless both --allow-assets and --license-note are set. A note alone records the license and still leaves the bytes in place.
  • NEVER decompile native code, WASM bodies, or minified JavaScript to invent a mechanic.
  • NEVER drop limits when the scan hit the 40-entry cap or the file was packed.
  • NEVER point godot-rea or bevy-rea at a relative ../gdas-reader path. Link the GitHub URL above so a single-skill install still names the prerequisite.

Available Scripts

read_artifact.py

Classifies a file or directory and writes the ledger. --self-test checks fixtures. --license-note records a license. --allow-assets copies bytes into copied-assets/ next to --out and requires that note.

Related Skills

Prerequisites

  • None. This skill is the first step.

Complements

  • godot-rea — Godot 4.7 project emitted from this ledger.
  • bevy-rea — Bevy 0.20 crate emitted from this ledger.

Downstream / consumers

Master

  • Neither hub mirrors this skill. Godot reconstruction continues at godot-master. Bevy reconstruction continues at bevy-master.