refactor: consolidate tooling, pipeline blueprint, and asset alignment#1
refactor: consolidate tooling, pipeline blueprint, and asset alignment#1SevenOfNine-ai wants to merge 4 commits intoASCS-eV:mainfrom
Conversation
- Remove root ontology-management-base submodule (now via recursive init through sl-5-8-asset-tools) - Add Makefile as central command center (OMB pattern) - OS detection for cross-platform support (Windows + Unix) - Subcommand groups: generate clean, wizard stop, clean all - Add sl-5-8-asset-tools + EVES as submodules under submodules/ - Remove hand-crafted asset/ directory (replaced by pipeline-generated output) - Add generated/input/ with input_manifest.json (JSON-LD) and staged simulation data, media, docs, LICENSE - Pipeline output goes to generated/output/ (gitignored) - Add .gitattributes enforcing LF line endings - Add .markdownlint.yaml config - Replace black/isort/flake8 pre-commit hooks with SHACL/JSON-LD validation - Add .github/copilot-instructions.md - Complete README rewrite with setup/usage/structure/FAQ docs - Remove orphan .flake8 and unused pyproject.toml Note: release.yml update (softprops/action-gh-release@v2) deferred to a follow-up commit requiring workflow scope. Signed-off-by: Seven of Nine <github.com.entitle117@passmail.com>
- Fix OMB path: submodules/ → external/ (matches actual submodule layout) - Fix setup: install deps via requirements.txt + editable OMB install (submodule has no setup target or pyproject.toml to delegate to) - Fix generate: call asset_extraction.main directly with manifest conversion script (submodule has no generate target) - Fix validate: check for correct output filenames (manifest_reference.json, scenario_instance.json) - Add scripts/convert_manifest.py to bridge input_manifest.json (JSON-LD) to uploadedFiles.json (pipeline format) - Simplify clean target (no submodule delegation needed) - Add generated intermediates to .gitignore Signed-off-by: Seven of Nine <github.com.entitle117@passmail.com>
|
Summary The refactor is directionally correct: the Makefile now points at the right nested OMB location, the staged Findings 🔴 blocking
🟡 suggestion
🟢 looks good
Verdict: Request Changes — Reviewed by GPT 5.4 (automated code review) |
- Replace manifest.json → manifest_reference.json in output diagrams - Replace metadata/scenario.json → metadata/scenario_instance.json - Fix OMB path: submodules/ → external/ontology-management-base - Add Node.js/npm to prerequisites (needed for markdownlint) - Add wizard Podman requirement note - Update Option B manual pipeline to match actual invocation - Update release workflow description in copilot-instructions - Fix asset structure conventions in copilot-instructions Signed-off-by: Seven of Nine <github.com.entitle117@passmail.com>
- Add 'pre-commit' to pip install in setup target - Guard validate pre-commit hook: skip if no generated output exists (prevents hook failure on fresh clones before 'make generate') Signed-off-by: Seven of Nine <github.com.entitle117@passmail.com>
Review Findings — Fix SummaryAll review findings have been addressed. Two commits pushed, one blocked (requires Carlo). ✅ Resolved (pushed)
🔴 Blocked — requires Carlo
The release.yml commit is the tip of the local branch, sitting on top of all pushed work. Everything else is live on the PR. |
🔴 Action needed:
|
Summary
Full consolidation of the scenario-asset-example repository: tooling, pipeline, generated asset structure, and submodule alignment. Analogous to ASCS-eV/hd-map-asset-example#1.
Root Repository Changes
Build System & Tooling
Makefileas central command center (setup,generate,validate,clean,help)pre-commithooks with SHACL/JSON-LD validation (replaces black/isort/flake8).flake8and unusedpyproject.toml.gitattributesenforcing LF line endings.markdownlint.yamlfor consistent Markdown stylemake helpwith debug logging and deterministic mode hintsAsset Structure (EVES-003)
asset/directory (replaced by pipeline-generated output)generated/input/withinput_manifest.json(JSON-LD), simulation data (.xosc), media, docs, LICENSEgenerated/output/(gitignored)Submodules
submodules/(sl-5-8-asset-tools, EVES)ontology-management-basepointer (nested inside sl-5-8)Documentation
README.mdwith setup/usage/structure/FAQ docs.github/copilot-instructions.mdDeferred
release.ymlupdate tosoftprops/action-gh-release@v2requiresworkflowscope — will follow up in a separate commit once the CI token is refreshed.Diff Stats
Key files added
Makefile— central command centergenerated/input/input_manifest.json— JSON-LD input manifest (v5 context).github/copilot-instructions.md— AI agent instructions.markdownlint.yaml— Markdown lint configKey files removed
asset/— entire hand-crafted directory (replaced by pipeline).flake8,pyproject.toml— orphan Python configontology-management-base— root submodule (now nested in sl-5-8)Blueprint Reference
This PR follows the same pattern established in ASCS-eV/hd-map-asset-example#1, adapted for OpenSCENARIO scenario assets instead of OpenDRIVE HD maps.