-
Notifications
You must be signed in to change notification settings - Fork 0
fix: normalize recolor mapping for training #12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: normalize recolor mapping for training #12
Conversation
|
Caution Review failedThe pull request is closed. WalkthroughRefactors recolor parameter naming from color_map to mapping across generation, heuristics, and signatures; adds episodic loader normalization to accept both keys; introduces parameter normalization for semantic cache keys in DSL; updates tests and adds a new recolor round‑trip test; adds a documentation note about the fix. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Caller
participant DSL as DSL.apply_op
participant Cache as _sem_cache
Note over DSL,Cache: New: normalized parameter key (_norm_params)
Caller->>DSL: apply_op(a, name, params)
DSL->>DSL: key = (name, _norm_params(params))
DSL->>Cache: check key
alt cache hit
Cache-->>DSL: result
DSL-->>Caller: result
else cache miss
DSL->>DSL: compute op(name, params)
DSL->>Cache: store key → result
DSL-->>Caller: result
end
sequenceDiagram
autonumber
participant Loader as Episode.from_dict
participant Data as input dict
participant Prog as Program builder
Note over Loader,Prog: Normalizes recolor mapping from "mapping" or "color_map"
Loader->>Data: read programs[]
loop per program
Data-->>Loader: ops[]
loop per op
alt op == "recolor"
Loader->>Loader: m = op["mapping"] or op["color_map"]
Loader->>Loader: normalize keys/values to int
Loader->>Prog: append op {"mapping": m}
else other ops
Loader->>Prog: append op as-is
end
end
end
Loader-->>Prog: build Episode(programs=...)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
✨ Finishing touches
🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (8)
Tip 👮 Agentic pre-merge checks are now available in preview!Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.
Please see the documentation for more information. Example: reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"
mode: "warning"
instructions: |
Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).Please share your feedback with us on this Discord post. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
recolormapping parameter across heuristics and searchTesting
pytest tests -qpython tools/train_guidance_on_arc.py --epochs 1https://chatgpt.com/codex/tasks/task_e_68c489916a30832286cc8ff5ea78d65c
Summary by CodeRabbit
Documentation
Refactor
Bug Fixes
Tests