feat: delete legacy page-intent audit#2584
Conversation
The page-intent audit is being migrated to Mysticat (Blackboard + DRS + Projector). It has not run automatically since early March 2026 (Mystique throttling, $15k/mo S3 cost spike) and the Mysticat path replaces it. - Delete src/page-intent/ (handler, prompts, sql) - Remove page-intent import + HANDLERS entry from src/index.js - Remove src/page-intent/sql from the build static bundle in package.json - Delete test/audits/page-intent/ The llmo-referral-traffic reader (site.getPageIntents()) is unchanged and continues to read page_intents written by the new Mysticat producer. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Hey @cwjwisse,
Strengths
- Exemplary change discipline. This is a pure deletion with zero functional additions or modifications mixed in. The scope is exactly one concern: remove the dead handler. The PR description documents the migration context, coordinated PRs, and landing order - this is how you decommission code in a distributed system.
- Complete removal from the registration path. Both the import statement (
src/index.js:77) and the HANDLERS map entry (src/index.js:190) are removed, plus thepackage.jsonSQL directory reference. No dangling wiring left behind. - Attack surface reduction. Removing the page-intent handler eliminates an LLM prompt injection surface (user-controlled page content passed to Azure OpenAI), an Athena SQL template interpolation surface, and S3 object read operations. All three trust boundaries are cleanly removed.
- Graceful degradation already handled. The SQS dispatcher returns a 404 with a log warning for unknown audit types. If any stale
page-intentmessages arrive after merge, they will be handled safely without crashes or retries. - Downstream reader path unaffected. The
llmo-referral-traffichandler's call tosite.getPageIntents()is a database read via the data-access layer - completely independent of the deleted handler code. - Tests removed with the code. The full 639-line test suite is deleted alongside the source. No orphan tests remain.
- No orphaned credentials or security controls. The deleted code consumed shared clients and env vars used by other handlers. No secrets, IAM permissions, or validation logic becomes orphaned.
Assessment
Ready to merge? Yes
Reasoning: This is a clean removal of dead code that was superseded by the Mysticat Blackboard/Projector pipeline. CI passes, coverage is unaffected (100%), the dispatcher handles unknown types gracefully, and the landing order ensures the replacement system is validated before this code is removed. The only remaining sequencing dependency (configuration PATCH to remove orphaned job entries) is documented ops work post-merge.
Skill: pr-review | Model: us.anthropic.claude-opus-4-6-v1[1m] | Duration: 0m 28s | Cost: $3.11 | Commit: d6c2c50a5f2a8b22a1b921c7fa2ab6ca624d6de3
If this code review was useful, please react with 👍. Otherwise, react with 👎.
Summary
src/page-intent/directory (handler.js, prompts.js, sql/).page-intentimport + HANDLERS entry fromsrc/index.js.llmo-referral-trafficreader path (site.getPageIntents()) byte-unchanged.Context
Page-intent classification migrated to Mysticat (Blackboard producer + Projector). Audit hasn't run automatically since early March 2026.
Coordinated PRs
adobe/mysticat-projector-servicefeat/blackboard-entity-fact-value(W5)adobe/mysticat-projector-servicefeat/page-intent-projector-config(W2)adobe/spacecat-sharedfeat/page-intent-drop-topic(W3)experience-platform/mystiquefeat/page-intent-enum-reconciliation(W1)adobe/mysticat-data-serviceDB migration droppage_intents.topicLanding order
llmo-referral-trafficExcel report populated for a paid test sitepage-intentjob + handler entries (ops)Test plan
npm test8384 passing / 0 failing / 16 pendingllmo-referral-traffictests unchanged + passing🤖 Generated with Claude Code