fix(working-capital): register unlink-outline and record the new API surface - #412
Merged
Merged
Conversation
…surface Two CI gates the Working Capital servicing work tripped, both of which fail loudly rather than silently — which is what they are for. - `wc-loan-view` renders `<ion-icon name="unlink-outline">` on the originator detach control, but the icon was never added to `APP_ICONS`. Ionic resolves an unregistered name by lazily fetching an SVG, which the production CSP blocks, so the control rendered as blank space with no error in the console. - `api-surface.json` did not record the eight operations the new breach, near-breach, delinquency-action and originator screens call. That manifest is what turns an upstream endpoint removal into one diagnostic naming the operation and its callers, so an unrecorded call is a caller the check cannot warn about (ADR 0003). Regenerated with `--write`: 8 operations added across 3 services newly reached, nothing removed. 142 -> 145 services, 564 -> 572 operations.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #408, fixing the two CI gates that the Working Capital servicing work tripped. Both are real defects rather than check noise, which is what those gates exist to demonstrate.
1.
unlink-outlinewas never registeredwc-loan-viewrenders<ion-icon name="unlink-outline">on the originator detach control, but the icon was not inAPP_ICONS.This is not cosmetic. Ionic resolves an unregistered name by lazily fetching an SVG over the network, and the production CSP blocks that — see #360 for the same class of failure. The detach control therefore rendered as blank space, with nothing in the console to say why. A user looking for "detach originator" would find an unlabelled gap.
Registered in both lists in
src/app/core/icons.ts, in the alphabetical position the file already keeps them in.2. Eight operations missing from
api-surface.jsonThe new breach, near-breach, delinquency-action and originator screens call eight generated operations that the manifest did not record:
That manifest is what converts an upstream endpoint removal into a single diagnostic naming the operation and its callers, instead of compile errors scattered across every feature that used it (ADR 0003). An unrecorded call is a caller the check cannot warn about — so the gap would have gone unnoticed precisely until the moment it mattered.
Regenerated with
node scripts/check-api-surface.mjs --write. I diffed the result rather than trusting it: 8 operations added, 0 removed, 142 → 145 services, 564 → 572 operations. The three newly reached services are Breach, NearBreach and Originators;WorkingCapitalLoanDelinquencyActionsServicewas already recorded for its GET and gains only the POST.Verification
npm run check:icons— all names registered (115 in the registry)npm run api:surface— 145 services, 572 operations, OKnpm run lint,npm run format:checkcleannpm run i18n:check,check:route-permissions,check:a11y-names,check:test-runnerclean./scripts/check-license.shcleanci.yml): Approved 734, Unapproved 0, Unknown 0npm run ga:check— 8/9 gates, 0 blocking failuresnpm run test:unit— 270 pass across 30 filesOne papercut worth knowing for anyone regenerating that manifest:
--writeemits JSON that Prettier then reformats, sonpm run formathas to follow--writeorformat:checkfails. Not fixed here to keep this diff to the two gates.