# Phase 1: Extraction - Discussion Log

> **Audit trail only.** Do not use as input to planning, research, or execution agents.
> Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.

**Date:** 2026-05-02
**Phase:** 01-extraction
**Areas discussed:** All gray areas — user delegated all decisions to Claude

---

## Gray Area Selection

| Option | Description | Selected |
|--------|-------------|----------|
| Extraction tool & method | LateralGM headless export vs custom TS parser vs WinXP VM + 5.3a IDE manual export | (delegated) |
| Output tree layout & commit path | Where extracted artifacts live, naming, hierarchy | (delegated) |
| DnD handling + reproducibility | Descriptor vs GML transcompile, byte-identical re-run strategy | (delegated) |
| WinXP VM + tool legitimacy | Cracked GM 5.3a in legacy/extras, VM sourcing | (delegated) |

**User's choice:** "agent decides all using best judgment. don't concern yourself with legacy/extras, the files there are so old today that it's of no practical relevance."

**Notes:** User opted out of interactive Q&A. Two explicit signals:
1. Claude has full discretion across all four areas.
2. Legal/IP concern around `legacy/open-source-release-extras/` (cracked GM 5.3a IDE) is dismissed as "no practical relevance" — do NOT spend Phase 1 effort sourcing licensed replacement, but the broader CONCERNS.md rules (repo private, legacy/ never published) still hold.

---

## Claude's Discretion — Decisions Made

All decisions captured in `01-CONTEXT.md` under `<decisions>`. Summary of judgment calls:

### Extraction tool & method → Custom TS parser, LateralGM as oracle

| Option | Pros | Cons | Selected |
|--------|------|------|----------|
| WinXP VM + 5.3a IDE manual export | Closest to author intent | Manual, non-reproducible, requires VM, not CI-friendly, 5.3a IDE legitimacy issue | |
| LateralGM headless export | Reference parser, mature | JVM dependency on critical path, harder TS integration | |
| Custom TS Node CLI walking .gmd binary | (D-01) Headless, CI-runnable, TS-everywhere convention, no JVM | Implementation cost, parser-correctness risk | ✓ |
| Custom TS + LateralGM cross-check | (D-02) Mitigates correctness risk via independent oracle | Slight CI cost | ✓ (combined) |

### Output tree layout & commit path → `extracted/<source>/...` GmkSplitter-style

| Option | Pros | Cons | Selected |
|--------|------|------|----------|
| `extracted/` at repo root | Clear seam, top-level visibility | New top-level dir | ✓ |
| `decomp/extracted/` | Co-located with RE knowledge | Mixes outputs with knowledge base | |
| `docs/extracted-source/` | Co-located with downstream Phase 2/3 docs | Conflates source extraction with written documentation | |

Hierarchy = GmkSplitter pattern (D-07).

### DnD handling → Both descriptor JSON + transcompiled GML

| Option | Pros | Cons | Selected |
|--------|------|------|----------|
| Descriptor only (JSON/XML) | Lossless | Ugly diffs, hard to grep | |
| GML transcompile only | Clean diffs, greppable | Lossy per wiki/04, no round-trip | |
| Both (D-09) | Diff on GML, descriptor as canonical truth | 2× file count per event | ✓ |

### WinXP VM → Documentation-only, Rank-3 fallback

| Option | Pros | Cons | Selected |
|--------|------|------|----------|
| Build + ship VM image as Phase 1 deliverable | Available for Rank-3 if needed | Burns Phase 1 time on unblocked work | |
| Document procedure only (D-04) | Phase 1 stays focused; nothing currently needs Rank-3 | Future Rank-3 incurs setup cost when needed | ✓ |

### Reproducibility → Sorted JSON + LF + pinned PNG encoder + native enum order

D-15 / D-16 captured the full rule set. Native sequential `.gmd` order (per wiki/03) used for resource enumeration — never sort by name.

---

## Deferred Ideas

Captured in `01-CONTEXT.md` `<deferred>`:
- Older `.gmd`/`.gb1` snapshots from `legacy/source-archive/` and `legacy/servers/*/`
- Round-trip `.gmd` writer
- Asset format conversion (Phase 6/7)
- WinXP VM image build (defer until Rank-3 actually needed)
- Vendoring LateralGM source (license check)
</content>
</invoke>