Skip to content

fix: delete compliance-pipeline/'s hardcoded 64-GUID mapper (B6) - #55

Merged
warrendt merged 1 commit into
mainfrom
warrendt-fuzzy-potato
Aug 10, 2026
Merged

fix: delete compliance-pipeline/'s hardcoded 64-GUID mapper (B6)#55
warrendt merged 1 commit into
mainfrom
warrendt-fuzzy-potato

Conversation

@warrendt

Copy link
Copy Markdown
Owner

compliance-pipeline/ was a fourth, fully standalone mapping stack with its own policy_mapper.py hardcoding a 64-GUID menu (32 overlapping the backend's pre-B1 34-GUID menu) — the same defect B1 fixed in the backend pipeline, at larger scale, in a copy nothing in app/ imports or references.

Decision: deleted, not delegated

Per explicit direction: hardcoding a policy shortlist voids the reason the AI mapping engine exists — a curated list caps recall at whatever its author thought of, against a catalogue of 2,467 shipped definitions.

Confirmed before deleting: no code or test under app/ (backend, frontend, or tests) imports or references compliance-pipeline/ — it's a fully standalone CLI tool with its own requirements.txt and entry point (pipeline.py), never sharing a runtime with the backend. Reworking it to delegate to AIMappingService would mean building and maintaining a second integration surface into the shared mapping engine for a tool nothing else depends on, so it's deleted outright:

  • pipeline.py, policy_mapper.py, control_extractor.py, pdf_extractor.py, initiative_builder.py, validator.py, models.py, config.py, its requirements.txt, .env.template, and README.md.
  • Its two remaining references in README.md and docs/FUNCTIONAL_SPEC.md (## 8. Known limitations) removed.

There is now exactly one mapping engine in the repository (AIMappingService), reached by both the services path and the pipeline path (B1).

Testing

Re-ran the pipeline/mapping/initiative test groups to confirm nothing depended on the deleted directory — 91 passed, no regressions.

compliance-pipeline/ was a fourth, fully standalone mapping stack with
its own policy_mapper.py hardcoding a 64-GUID menu (32 overlapping the
backend's pre-B1 34-GUID menu) - the same defect B1 fixed in the
backend pipeline, at larger scale, in a copy nothing in app/ imports
or references (confirmed: no code or test under app/ touches it).

Deleted the whole directory rather than reworking it to delegate to
AIMappingService: it has its own requirements.txt and entry point,
never shared a runtime with the backend, and nothing depends on it.
Hardcoding a policy shortlist is exactly the failure mode the AI
mapping engine exists to avoid - a curated list caps recall at whatever
its author thought of, against a catalogue of 2,467 shipped
definitions. Removed its two remaining references in README.md and
docs/FUNCTIONAL_SPEC.md.

There is now exactly one mapping engine in the repository
(AIMappingService), reached by both the services path and the pipeline
path (B1).

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 39bc839d-c643-40f2-b8a7-a7e524d91ed6
@warrendt
warrendt merged commit cc26108 into main Aug 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant