# Scratchpad — Alga PSA n8n Ticket Node CRUD - Plan slug: `n8n-ticket-node-crud` - Created: `2026-02-16` ## What This Is Working notes for the n8n ticket-node plan. This captures scope decisions made in brainstorming and concrete API constraints discovered in the repo. ## Decisions - (2026-02-16) Use a single node approach: one `Alga PSA` node with multiple resources. - (2026-02-16) V1 Ticket read scope includes both `Get by ID` and `List/Search`. - (2026-02-16) V1 update scope includes general update plus dedicated status and assignment operations. - (2026-02-16) V1 create/update UX uses dynamic dropdowns for required reference IDs. - (2026-02-16) V1 includes `Delete Ticket` to satisfy full CRUD. - (2026-02-16) Credential model for v1 is `baseUrl + apiKey` only (no tenant header field in UX). - (2026-02-16) Expose helper operations (`List Clients`, `List Boards`, `List Statuses`, `List Priorities`) in addition to internal lookup use. - (2026-02-16) Distribution target is npm availability for Alga users; n8n community-portal submission is not required for v1. - (2026-03-08) Extend the existing `Ticket` resource instead of adding a separate `Comment` resource; new scope is `List Comments` and `Add Comment`. - (2026-03-08) Do not expose `time_spent` in the n8n node because current Alga PSA ticket comments do not persist it or translate it into time entries. ## Discoveries / Constraints - (2026-02-16) Alga ticket CRUD routes already exist and are backed by controller/service implementations: - `server/src/app/api/v1/tickets/route.ts` - `server/src/app/api/v1/tickets/[id]/route.ts` - `server/src/app/api/v1/tickets/[id]/status/route.ts` - `server/src/app/api/v1/tickets/[id]/assignment/route.ts` - `server/src/lib/api/controllers/ApiTicketController.ts` - `server/src/lib/api/services/TicketService.ts` - (2026-02-16) Ticket create schema requires UUID references: `client_id`, `board_id`, `status_id`, `priority_id`. - (2026-02-16) Ticket auth uses `x-api-key`; `x-tenant-id` is optional in controller flow and can be inferred from key. - (2026-02-16) Helper lookup routes exist for v1 dropdowns/helpers: - `GET /api/v1/clients` - `GET /api/v1/boards` - `GET /api/v1/statuses` - `GET /api/v1/priorities` - (2026-02-16) n8n docs indicate installation from npm/manual path for community nodes is self-hosted; unverified community nodes are not available on n8n Cloud. - (2026-02-16) n8n docs recommend choosing declarative vs programmatic/hybrid style; this plan uses declarative-first with focused programmatic request/normalization logic. - (2026-03-08) Ticket comment API endpoints already exist: - `GET /api/v1/tickets/{id}/comments` - `POST /api/v1/tickets/{id}/comments` - (2026-03-08) `createTicketCommentSchema` still exposes `time_spent`, but `TicketService.addComment()` ignores it and the `comments` table has no `time_spent` column: - `server/src/lib/api/schemas/ticket.ts` - `server/src/lib/api/services/TicketService.ts` - `server/migrations/202409071803_initial_schema.cjs` - (2026-03-08) `TicketService.getTicketComments()` supports `limit`, `offset`, and `order`, which are the only list-query knobs needed for the n8n comment-read operation. ## Commands / Runbooks - (2026-02-16) Scaffold plan artifacts: - `python3 /Users/roberisaacs/.codex/skills/alga-plan/scripts/scaffold_plan.py "Alga PSA n8n Ticket Node CRUD" --slug n8n-ticket-node-crud` - (2026-02-16) Validate plan format: - `python3 /Users/roberisaacs/.codex/skills/alga-plan/scripts/validate_plan.py ee/docs/plans/2026-02-16-n8n-ticket-node-crud` - (2026-02-16) Confirm ticket API routes quickly: - `find server/src/app/api/v1/tickets -maxdepth 3 -type f | sort` - (2026-02-16) Confirm helper route existence quickly: - `find server/src/app/api/v1 -maxdepth 3 -type f | sort | rg "boards|statuses|priorities|clients"` - (2026-03-08) Verify n8n package after adding ticket comments: - `npm install --workspace packages/n8n-nodes-alga-psa --ignore-scripts` - `npm -w packages/n8n-nodes-alga-psa test` - `npm -w packages/n8n-nodes-alga-psa run build` ## Links / References - n8n node creation overview: - https://docs.n8n.io/integrations/creating-nodes/overview/ - n8n build style guidance: - https://docs.n8n.io/integrations/creating-nodes/build/reference/node-base-files/choose-node-method/ - n8n installation guidance for community nodes: - https://docs.n8n.io/integrations/community-nodes/installation/ - https://docs.n8n.io/integrations/community-nodes/installation/manual-install/ - Alga API schema and service references: - `server/src/lib/api/schemas/ticket.ts` - `server/src/lib/api/services/TicketService.ts` ## Open Questions - Final npm package name/scope decision for discoverability (`n8n-nodes-alga-psa` vs `@alga-psa/n8n-nodes-alga-psa`). - Confirm minimum supported n8n version and Node runtime for package README. - Decide whether to add optional `x-tenant-id` header support in a v1.1 credential update. - (2026-03-08) Resolved: ticket comments in n8n will include only current server-backed capabilities (`List Comments`, `Add Comment`) and will not surface `time_spent`. - (2026-03-08) Implemented F031/F032/F033/F034: added `Ticket -> List Comments` and `Ticket -> Add Comment`, omitted unsupported `time_spent`, updated README, and added `examples/add-comment-then-list-comments.workflow.json`. - (2026-03-08) Verification: `npm -w packages/n8n-nodes-alga-psa test` passed (`52` tests) and `npm -w packages/n8n-nodes-alga-psa run build` passed after installing the declared `n8n-workflow` dependency into this worktree with `npm install --workspace packages/n8n-nodes-alga-psa --ignore-scripts`. - (2026-02-16) Implemented F001: scaffolded `packages/n8n-nodes-alga-psa` with npm-valid community node package name and canonical n8n folder layout (`nodes/AlgaPsa`, `credentials`) to establish distribution-ready project boundaries. - (2026-02-16) Implemented F002: added package build metadata/scripts (`clean`, `build`, `typecheck`), TypeScript config, and n8n manifest entries so compiled credential/node artifacts emit under `dist/` for installable packaging. - (2026-02-16) Verified build artifact emission: - `npm -w packages/n8n-nodes-alga-psa run build` - `find packages/n8n-nodes-alga-psa/dist -maxdepth 4 -type f | sort` - (2026-02-16) Implemented F003: credential type `AlgaPsaApi` now exposes only `baseUrl` and secret `apiKey` fields, matching the v1 credential UX and keeping API key entry hidden via password type options. - (2026-02-16) Implemented F004: added shared transport helper (`nodes/AlgaPsa/transport.ts`) that trims trailing slashes from `baseUrl`, normalizes endpoint slashes, and injects `x-api-key` on all outbound requests. - (2026-02-16) Implemented F005: expanded `AlgaPsa` node shell to a single multi-resource node with `Ticket`, `Client`, `Board`, `Status`, and `Priority` selectors. - (2026-02-16) Implemented F006: operation routing is resource-scoped via resource-specific operation selectors so only valid operations are visible/executable for each resource. - (2026-02-16) Implemented F007: Ticket create now calls `POST /api/v1/tickets` with required fields and optional field mapping through the create payload builder. - (2026-02-16) Implemented F008: Ticket get now calls `GET /api/v1/tickets/{id}` with preflight ID validation. - (2026-02-16) Implemented F009: Ticket list now calls `GET /api/v1/tickets` and serializes pagination/sort/filter query parameters. - (2026-02-16) Implemented F010: Ticket search now calls `GET /api/v1/tickets/search` with required query and optional search filters. - (2026-02-16) Implemented F011: Ticket update now calls `PUT /api/v1/tickets/{id}` with partial payload construction that omits empty fields. - (2026-02-16) Implemented F012: Ticket status update now calls `PUT /api/v1/tickets/{id}/status` with `status_id` payload. - (2026-02-16) Implemented F013: Ticket assignment update now calls `PUT /api/v1/tickets/{id}/assignment` with assign/clear behavior mapped to `assigned_to`. - (2026-02-16) Implemented F014: Ticket delete now calls `DELETE /api/v1/tickets/{id}` with required ID validation. - (2026-02-16) Implemented F015: Delete responses are normalized to a guaranteed non-empty success payload containing `success`, `id`, and `deleted`. - (2026-02-16) Implemented F016: Success normalization now unwraps `{ data: ... }` responses and preserves pagination metadata when present. - (2026-02-16) Implemented F017: API failures are parsed into structured `code`/`message`/`details` payloads and surfaced via n8n-friendly error handling. - (2026-02-16) Implemented F018: Continue On Fail now emits item-level error objects and keeps processing subsequent items. - (2026-02-16) Implemented F019: Client helper list operation now maps to `GET /api/v1/clients`. - (2026-02-16) Implemented F020: Board helper list operation now maps to `GET /api/v1/boards`. - (2026-02-16) Implemented F021: Status helper list operation now maps to `GET /api/v1/statuses`. - (2026-02-16) Implemented F022: Priority helper list operation now maps to `GET /api/v1/priorities`. - (2026-02-16) Implemented F023: Dynamic list-search load-options are implemented for `client_id`, `board_id`, `status_id`, and `priority_id` in ticket create/update flows. - (2026-02-16) Implemented F024: Lookup fields now support explicit manual UUID entry via resource locator ID mode and graceful empty lookup handling. - (2026-02-16) Implemented F025: Ticket create/update forms keep required fields prominent and group optional inputs into additional-fields collections. - (2026-02-16) Implemented F026: Operation-level validation now blocks requests when required IDs or search query values are missing/invalid. - (2026-02-16) Implemented F027: authored package README with credential setup, operation matrix, ticket field requirements, lookup behavior, and output/error expectations. - (2026-02-16) Implemented F028: README installation section documents self-hosted GUI/npm/manual paths and explicitly notes unverified community-node limitations on n8n Cloud. - (2026-02-16) Implemented F029: added two minimal workflow example definitions (`create->update-assignment` and `search->update-status`) under `packages/n8n-nodes-alga-psa/examples` and referenced them in README. - (2026-02-16) Prepared release artifact checks for F030: - `npm -w packages/n8n-nodes-alga-psa pack --dry-run` succeeded and produced `n8n-nodes-alga-psa-0.1.0.tgz`. - `npm whoami` returned `401 Unauthorized`; npm publish is currently blocked by missing/invalid registry authentication in this environment. - (2026-02-16) Added `packages/n8n-nodes-alga-psa/RELEASE_NOTES.md` draft for the 0.1.0 feature surface. - (2026-02-16) Implemented T001: added package metadata test coverage validating n8n community package naming and dist entrypoint declarations (`__tests__/package-and-credential.test.ts`). - (2026-02-16) Validation run (current suite baseline): - `npm -w packages/n8n-nodes-alga-psa test` - (2026-02-16) Implemented T002: Build test executes `npm run build` and asserts compiled node/credential artifacts exist in `dist/`. - (2026-02-16) Implemented T003: Credential unit test asserts fields are exactly `baseUrl` and secret `apiKey`. - (2026-02-16) Implemented T004: Transport helper unit test covers trailing-slash normalization and path joining semantics. - (2026-02-16) Implemented T005: Transport helper unit test asserts `x-api-key` injection and absence of logging side effects. - (2026-02-16) Implemented T006: Node description test validates resource selector values for Ticket/Client/Board/Status/Priority. - (2026-02-16) Implemented T007: Node description test validates only valid operations appear for each resource. - (2026-02-16) Implemented T010: Execute-path test validates POST payload includes required ticket create fields. - (2026-02-16) Implemented T011: Execute-path test validates optional create fields are sent only when provided. - (2026-02-16) Implemented T012: Execute-path test validates create response unwrapping from `{ data: ... }`. - (2026-02-16) Implemented T013: Execute-path test validates GET route format and empty-ID validation short-circuit. - (2026-02-16) Implemented T014: Execute-path test validates get response object passthrough for downstream nodes. - (2026-02-16) Implemented T015: Execute-path test validates list pagination/sort/filter query serialization. - (2026-02-16) Implemented T016: Execute-path test validates pagination metadata is preserved in normalized output. - (2026-02-16) Implemented T017: Execute-path test validates query + optional search filter serialization for `/tickets/search`. - (2026-02-16) Implemented T018: Execute-path test validates both populated and empty search result normalization. - (2026-02-16) Implemented T019: Execute-path test validates update sends only provided mutable fields. - (2026-02-16) Implemented T020: Execute-path test validates updated ticket response passthrough for downstream use. - (2026-02-16) Implemented T021: Execute-path test validates `PUT /tickets/{id}/status` payload contract. - (2026-02-16) Implemented T022: Execute-path test validates `PUT /tickets/{id}/assignment` payload contract. - (2026-02-16) Implemented T023: Execute-path test validates DELETE request path and method. - (2026-02-16) Implemented T024: Execute-path test validates 204-style delete normalization to explicit success object. - (2026-02-16) Implemented T025: Helper unit test validates `{ data: object }` unwrap behavior. - (2026-02-16) Implemented T026: Helper unit test validates array unwrap plus pagination retention. - (2026-02-16) Implemented T027: Error formatting unit test validates actionable 401 mapping with details payload. - (2026-02-16) Implemented T028: Error formatting unit test validates actionable 403 permission mapping. - (2026-02-16) Implemented T029: Error formatting unit test validates actionable 404 not-found mapping. - (2026-02-16) Implemented T030: Error formatting unit test validates actionable 400 validation mapping. - (2026-02-16) Implemented T031: Execute-path integration test validates item-level error emission and continued processing. - (2026-02-16) Implemented T032: Execute-path test validates client helper route + list output normalization. - (2026-02-16) Implemented T033: Execute-path test validates board helper route + list output normalization. - (2026-02-16) Implemented T034: Execute-path test validates status helper route + list output normalization. - (2026-02-16) Implemented T035: Execute-path test validates priority helper route + list output normalization. - (2026-02-16) Implemented T036: Load-options test validates client label/value mapping from clients API response. - (2026-02-16) Implemented T037: Load-options test validates board label/value mapping from boards API response. - (2026-02-16) Implemented T038: Load-options test validates status label/value mapping from statuses API response. - (2026-02-16) Implemented T039: Load-options test validates priority label/value mapping from priorities API response. - (2026-02-16) Implemented T040: Load-options and execute tests validate empty lookup fallback + manual UUID execution path. - (2026-02-16) Implemented T041: Node description tests validate required fields are separate from additional optional collections. - (2026-02-16) Implemented T042: Execute-path tests validate request blocking when required IDs/search query are missing. - (2026-02-16) Implemented T043: Docs test validates README includes credential setup, operation matrix, and ticket field requirements. - (2026-02-16) Implemented T044: Docs test validates self-hosted install guidance and n8n Cloud limitation notes. - (2026-02-16) Implemented T045: Docs test validates both example workflow files and operation chains are present. - (2026-02-16) Re-validated release publish blocker for F030/T046: - `npm whoami` still fails with `401 Unauthorized`. - `npm view n8n-nodes-alga-psa version` returns `404 Not Found` (package not yet published). - `npm -w packages/n8n-nodes-alga-psa publish --access public` builds and uploads tarball metadata but fails before publish with `Access token expired or revoked`, followed by npm registry `404 ... not found or you do not have permission`. - `~/.npmrc` contains an npm auth token entry, but it is no longer valid for registry publish. - (2026-02-16) Rechecked release prerequisites for F030/T046 again from clean git state: - `cat ~/.npmrc` (redacted) confirms npm auth token is configured but currently unusable (`//registry.npmjs.org/:_authToken=[REDACTED]`). - `npm whoami` still returns `E401 Unauthorized`. - `npm view n8n-nodes-alga-psa version` still returns `E404 Not Found`, indicating no public release exists yet. - `npm -w packages/n8n-nodes-alga-psa publish --access public` still packages successfully, then fails on registry publish with `Access token expired or revoked` and `E404` permission/not found response. - No alternate npm auth env vars are present in shell environment (`env | rg -i '(^npm_|_npm|token)'` shows npm config vars only, redacted). - (2026-02-16) Release readiness revalidation for F030/T046 from current worktree: - `npm -w packages/n8n-nodes-alga-psa test` passed (`44` tests). - `npm -w packages/n8n-nodes-alga-psa run build` passed and regenerated `dist/`. - `npm -w packages/n8n-nodes-alga-psa pack --dry-run` succeeded and produced `n8n-nodes-alga-psa-0.1.0.tgz` preview metadata. - (2026-02-16) Publish remains blocked by npm auth/permissions in this environment: - `npm whoami` returned `E401 Unauthorized`. - `npm view n8n-nodes-alga-psa version` returned `E404 Not Found` (package still not published). - `npm -w packages/n8n-nodes-alga-psa publish --access public` reached publish step but failed with `Access token expired or revoked`, then registry `E404` permission/not-found response. - (2026-02-16) Non-blocking publish warning observed: - npm warns `repository.url` is auto-normalized to `git+https://github.com/alga-psa/alga-psa.git`; this does not block package build/publish attempt. - (2026-02-16) Release validation rerun in current session: - `npm -w packages/n8n-nodes-alga-psa test` passed (`44` tests). - `npm -w packages/n8n-nodes-alga-psa run build` passed and regenerated `dist/`. - `npm -w packages/n8n-nodes-alga-psa pack --dry-run` (run after build) includes compiled `dist/` files and succeeds. - (2026-02-16) Packaging command-order gotcha: - Running `npm run build` and `npm pack --dry-run` concurrently can produce a misleading pack preview that omits `dist/` while `clean` is executing; run them sequentially for accurate release verification. - (2026-02-16) Publish remains externally blocked after rerun: - `npm whoami` still returns `E401 Unauthorized`. - `npm view n8n-nodes-alga-psa version` still returns `E404 Not Found`. - `npm -w packages/n8n-nodes-alga-psa publish --access public` still fails with `Access token expired or revoked` and registry `E404` permission/not-found response. - (2026-02-16) Release publish revalidation (latest run in this worktree): - `npm -w packages/n8n-nodes-alga-psa test` passed (`44` tests). - `npm -w packages/n8n-nodes-alga-psa run build` passed. - `npm -w packages/n8n-nodes-alga-psa pack --dry-run` passed and included compiled `dist/` artifacts. - `npm whoami` returned `E401 Unauthorized`. - `npm view n8n-nodes-alga-psa version` returned `E404 Not Found`. - `npm -w packages/n8n-nodes-alga-psa publish --access public` failed with `Access token expired or revoked`, then registry `E404` permission/not-found response. - (2026-02-16) Checked for repo-native automated publish path: - Searched `.github/workflows` for npm publish/release automation and did not find an existing npm release workflow for this package. - Current blocker for F030/T046 remains external npm registry credentials/permissions, not local package readiness. - (2026-02-16) Release publish revalidation (current autonomous run): - `npm -w packages/n8n-nodes-alga-psa test` passed (`44` tests). - `npm -w packages/n8n-nodes-alga-psa run build` passed. - `npm -w packages/n8n-nodes-alga-psa pack --dry-run` passed and includes built `dist/` artifacts. - `npm whoami` failed with `E401 Unauthorized`. - `npm view n8n-nodes-alga-psa version` failed with `E404 Not Found`. - `npm -w packages/n8n-nodes-alga-psa publish --access public` still fails at registry step with `Access token expired or revoked` and npm `E404` permission/not-found response. - Feature/test completion remains blocked on valid npm registry credentials with permission to publish `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (latest attempt in this session): - Re-ran release verification in strict order: `npm test`, `npm run build`, then `npm pack --dry-run`; all succeeded and tarball preview includes compiled `dist/` artifacts. - Re-ran registry checks: `npm whoami` still returns `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` still returns `E404 Not Found`. - Re-ran publish: `npm -w packages/n8n-nodes-alga-psa publish --access public` still reaches publish stage but fails with `Access token expired or revoked` and registry `E404` permission/not-found response. - Blocker remains external npm credentials/ownership; no remaining local code/test gaps found for F030/T046. - (2026-02-16) Release publish revalidation (autonomous run at 23:24 UTC): - Ran release pipeline sequentially to avoid `dist/` race: `npm -w packages/n8n-nodes-alga-psa test && npm -w packages/n8n-nodes-alga-psa run build && npm -w packages/n8n-nodes-alga-psa pack --dry-run`; all passed (`44` tests, pack tarball includes `dist/`). - Registry checks remain blocked: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish remains blocked: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` then npm `E404` permission/not-found response. - F030/T046 cannot be flipped without refreshed npm auth token tied to an owner/publisher for `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:25 UTC): - Re-ran readiness checks in strict order: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, and `npm -w packages/n8n-nodes-alga-psa pack --dry-run`; all passed and dry-run tarball includes compiled `dist/` outputs. - `npm whoami` still fails with `E401 Unauthorized` (pipeline halts immediately with `set -e` when included inline). - Follow-up registry commands still fail: `npm view n8n-nodes-alga-psa version` => `E404 Not Found`; `npm -w packages/n8n-nodes-alga-psa publish --access public` => `Access token expired or revoked` + npm `E404` permission/not-found. - Auth context remains unchanged: `env | rg -i '(^npm_|_npm|token)'` shows no usable npm token env vars; `~/.npmrc` still contains only `//registry.npmjs.org/:_authToken=[REDACTED]`. - F030/T046 remain blocked on refreshed npm credentials with publish access to `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:27 UTC): - Re-ran release flow in strict order: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`; all passed and pack preview includes `dist/` artifacts. - Registry/account checks still fail unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish attempt still fails at registry step: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports token is expired/revoked and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Blocker remains external npm auth/ownership; no additional local code or test gaps were identified. - (2026-02-16) Release publish revalidation (autonomous run at 23:29 UTC): - Re-ran readiness flow in strict order: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`; all passed and dry-run tarball includes compiled `dist/` artifacts. - Registry checks remain blocked: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish still fails: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked`, then npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - F030/T046 remain blocked on refreshed npm credentials with ownership/publish permission for `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:31 UTC): - Re-ran readiness flow in strict order: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`; all passed (`44` tests) and pack preview includes compiled `dist/` artifacts. - Registry/account checks still fail: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish attempt still fails at registry step: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Non-blocking warning repeated: npm auto-normalizes `repository.url` to `git+https://github.com/alga-psa/alga-psa.git`. - F030/T046 remain externally blocked on refreshed npm credentials with publish access to `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:33 UTC): - Re-ran readiness flow in strict order: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`; all passed (`44` tests) and dry-run tarball includes compiled `dist/` artifacts. - Registry checks remain blocked: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish still fails: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked`, then npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - F030/T046 remain externally blocked on refreshed npm credentials with ownership/publish permission for `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:34 UTC): - `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, and `npm -w packages/n8n-nodes-alga-psa pack --dry-run` all succeeded; dry-run tarball includes compiled `dist/` artifacts. - `npm whoami` failed with `E401 Unauthorized`. - `npm view n8n-nodes-alga-psa version` failed with `E404 Not Found`. - `npm -w packages/n8n-nodes-alga-psa publish --access public` failed with `Access token expired or revoked` and npm registry `E404` permission/not-found response. - F030/T046 remain externally blocked pending refreshed npm credentials with publish access to `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:36 UTC): - `npm -w packages/n8n-nodes-alga-psa test && npm -w packages/n8n-nodes-alga-psa run build && npm -w packages/n8n-nodes-alga-psa pack --dry-run` all succeeded (`44` tests) and tarball preview includes compiled `dist/` artifacts. - `npm whoami` still fails with `E401 Unauthorized`. - `npm view n8n-nodes-alga-psa version` still fails with `E404 Not Found`. - `npm -w packages/n8n-nodes-alga-psa publish --access public` still fails with `Access token expired or revoked` and npm registry `E404` permission/not-found response. - Blocker remains external npm auth/ownership; F030 and T046 cannot be completed from this environment without refreshed publish credentials. - (2026-02-16) Release publish revalidation (autonomous run at 23:37 UTC): - Full gated sequence rerun in strict order and succeeded locally: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run` (`44` tests; pack includes compiled `dist/` assets). - Registry checks still fail unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish still fails unchanged: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports access token revoked/expired and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Exit-code summary from scripted run: `test=0 build=0 pack=0 whoami=1 view=1 publish=1`. - (2026-02-16) Release publish revalidation (autonomous run at 23:39 UTC): - Re-ran release gates in order: `npm -w packages/n8n-nodes-alga-psa test` (pass, `44` tests), `npm -w packages/n8n-nodes-alga-psa run build` (pass), `npm -w packages/n8n-nodes-alga-psa pack --dry-run` (pass; tarball includes compiled `dist/` outputs). - Registry identity/package checks still fail: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish attempt still fails unchanged: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports token expired/revoked and returns npm `E404` permission/not-found. - `~/.npmrc` still contains an npmjs auth token entry, but it is currently invalid for registry authentication/publish. - `F030`/`T046` remain blocked on refreshed npm credentials with publish permission for `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:41 UTC): - Re-ran gated local release sequence in strict order: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`; all passed (`44` tests) and dry-run tarball includes compiled `dist/` artifacts. - Registry identity/package checks still fail unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish attempt still fails unchanged: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Scripted exit-code summary: `whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with ownership/publish permission for `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:43 UTC): - Re-ran gated release sequence in strict order: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`; all passed (`44` tests) and dry-run tarball includes compiled `dist/` artifacts. - Registry/account checks remain blocked: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish still fails unchanged: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Scripted exit-code summary: `test=0 build=0 pack=0 whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with ownership/publish permission for `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:44 UTC): - Re-ran local release gates in strict order: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`; all passed (`44` tests) and dry-run tarball includes compiled `dist/` artifacts. - Registry/auth checks unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish unchanged: `npm -w packages/n8n-nodes-alga-psa publish --access public` reached publish step but failed with `Access token expired or revoked` and npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Release notes audit confirms `packages/n8n-nodes-alga-psa/RELEASE_NOTES.md` already documents supported resources/operations and self-hosted installation steps. - `F030`/`T046` remain externally blocked on refreshed npm credentials with owner/publisher access to `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:46 UTC): - Local release gates re-ran in strict order and passed: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run` (`44` tests; tarball includes compiled `dist/` artifacts). - Registry/account checks still fail: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish still fails unchanged: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Scripted exit-code summary: `whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with ownership/publish permission for `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:48 UTC): - Re-ran release gates sequentially: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`; all passed (`44` tests) and dry-run tarball includes compiled `dist/` artifacts. - Registry checks unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish remains blocked: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Scripted exit-code summary: `whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with ownership/publish permission for `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:50 UTC): - Re-ran full local release gate: `npm -w packages/n8n-nodes-alga-psa test` (pass, `44` tests), `npm -w packages/n8n-nodes-alga-psa run build` (pass), `npm -w packages/n8n-nodes-alga-psa pack --dry-run` (pass; tarball includes compiled `dist/` artifacts). - Registry checks still fail unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish still fails unchanged: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Scripted exit-code summary: `build=0 pack=0 whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with ownership/publish permission for `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:51 UTC): - Re-ran local release gates in strict order: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`; all passed (`44` tests) and dry-run tarball includes compiled `dist/` artifacts. - Re-ran registry checks: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Re-ran publish attempt: `npm -w packages/n8n-nodes-alga-psa publish --access public` still reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Scripted exit-code summary: `whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with ownership/publish permission for `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:53 UTC): - Ran strict sequence in one shell (`test -> build -> pack --dry-run -> whoami -> view -> publish`) to capture a single, comparable result set. - Local gates all passed: `npm -w packages/n8n-nodes-alga-psa test` (`44` tests), `npm -w packages/n8n-nodes-alga-psa run build`, and `npm -w packages/n8n-nodes-alga-psa pack --dry-run` (tarball preview includes compiled `dist/` artifacts). - Registry checks remain unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish still fails unchanged: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Scripted exit-code summary: `test=0 build=0 pack=0 whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked on refreshed npm credentials with ownership/publish permission for `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:55 UTC): - Re-ran strict sequence in one shell (`test -> build -> pack --dry-run -> whoami -> view -> publish`) and outcomes were unchanged. - Local release gates passed again: `npm -w packages/n8n-nodes-alga-psa test` (`44` tests), `npm -w packages/n8n-nodes-alga-psa run build`, and `npm -w packages/n8n-nodes-alga-psa pack --dry-run` (dry-run tarball includes compiled `dist/` outputs). - Registry checks remain blocked: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish remains blocked: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` and then returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Additional auth-context check confirms no alternate token source: `env | rg -i '(^npm_|_npm|token)'` shows no usable npm auth env vars; `~/.npmrc` contains only `//registry.npmjs.org/:_authToken=[REDACTED]` which is currently invalid. - Scripted exit-code summary: `test=0 build=0 pack=0 whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with ownership/publish permission for `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:56 UTC): - Re-ran strict sequence in one shell (`test -> build -> pack --dry-run -> whoami -> view -> publish`) to re-check whether npm auth had changed. - Local release gates still pass: `npm -w packages/n8n-nodes-alga-psa test` (`44` tests), `npm -w packages/n8n-nodes-alga-psa run build`, and `npm -w packages/n8n-nodes-alga-psa pack --dry-run` (dry-run tarball includes compiled `dist/` artifacts). - Registry checks still fail unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish still fails unchanged: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Scripted exit-code summary: `test=0 build=0 pack=0 whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked on valid npm credentials with owner/publish rights for `n8n-nodes-alga-psa`. - (2026-02-16) Release publish revalidation (autonomous run at 23:58 UTC): - Re-ran strict release sequence in one shell: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`, `npm whoami`, `npm view n8n-nodes-alga-psa version`, `npm -w packages/n8n-nodes-alga-psa publish --access public`. - Local package gates all passed (`44` tests; build succeeded; dry-run tarball includes compiled `dist/` assets). - Registry/auth checks remain blocked and unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`; publish => `Access token expired or revoked` followed by npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Exit-code summary: `test=0 build=0 pack=0 whoami=1 view=1 publish=1`. - `F030` and `T046` remain externally blocked pending refreshed npm credentials with owner/publisher permission for `n8n-nodes-alga-psa`. - (2026-02-17) Release publish revalidation (autonomous run at 00:01 UTC): - Local release gates passed in order: `npm -w packages/n8n-nodes-alga-psa test` (`44` tests), `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run` (tarball includes compiled `dist/` artifacts). - Registry identity/package checks still fail: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish still fails unchanged: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with ownership/publish permission for `n8n-nodes-alga-psa`. - (2026-02-17) Release publish revalidation (autonomous run at 00:03 UTC): - Local release gates passed again: `npm -w packages/n8n-nodes-alga-psa test` (`44` tests), `npm -w packages/n8n-nodes-alga-psa run build`, and `npm -w packages/n8n-nodes-alga-psa pack --dry-run` (tarball includes compiled `dist/` artifacts). - Registry identity/package checks remain blocked: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish attempt remains blocked: `npm -w packages/n8n-nodes-alga-psa publish --access public` still reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - `F030`/`T046` are still externally blocked pending refreshed npm credentials with owner/publisher permission for `n8n-nodes-alga-psa`. - (2026-02-17) Release publish revalidation (autonomous run at 00:04 UTC): - Re-ran strict release sequence in one shell: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`, `npm whoami`, `npm view n8n-nodes-alga-psa version`, `npm -w packages/n8n-nodes-alga-psa publish --access public`. - Local release gates all passed (`44` tests; build succeeded; dry-run tarball includes compiled `dist/` artifacts). - Registry/auth checks still fail unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`; publish reports token expired/revoked and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Exit-code summary: `test=0 build=0 pack=0 whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with owner/publisher permission for `n8n-nodes-alga-psa`. - (2026-02-17) Release publish revalidation (autonomous run at 00:06 UTC): - Re-ran strict release sequence in one shell: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`, `npm whoami`, `npm view n8n-nodes-alga-psa version`, `npm -w packages/n8n-nodes-alga-psa publish --access public`. - Local release gates all passed (`44` tests; build succeeded; dry-run tarball includes compiled `dist/` artifacts). - Registry/auth checks still fail unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`; publish reports token expired/revoked and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Exit-code summary: `test=0 build=0 pack=0 whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with owner/publisher permission for `n8n-nodes-alga-psa`. - (2026-02-17) Release publish revalidation (autonomous run at 00:07 UTC): - Re-ran strict release sequence in one shell: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`, `npm whoami`, `npm view n8n-nodes-alga-psa version`, `npm -w packages/n8n-nodes-alga-psa publish --access public`. - Local release gates all passed (`44` tests; build succeeded; dry-run tarball includes compiled `dist/` artifacts). - Registry/auth checks still fail unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`; publish reports token expired/revoked and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Exit-code summary: `test=0 build=0 pack=0 whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with owner/publisher permission for `n8n-nodes-alga-psa`. - (2026-02-17) Release publish revalidation (autonomous run at 00:11 UTC): - Re-ran strict release sequence in one shell: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`, `npm whoami`, `npm view n8n-nodes-alga-psa version`, `npm -w packages/n8n-nodes-alga-psa publish --access public`. - Local release gates all passed (`44` tests; build succeeded; dry-run tarball includes compiled `dist/` artifacts). - Registry checks remain blocked and unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish remains blocked: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Exit-code summary: `test=0 build=0 pack=0 whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with owner/publisher permission for `n8n-nodes-alga-psa`. - (2026-02-17) Release publish revalidation (autonomous run at 00:13 UTC): - Re-ran strict release sequence in one shell: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`, `npm whoami`, `npm view n8n-nodes-alga-psa version`, `npm -w packages/n8n-nodes-alga-psa publish --access public`. - Local release gates all passed (`44` tests; build succeeded; dry-run tarball includes compiled `dist/` artifacts). - Registry checks remain blocked and unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish remains blocked: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Exit-code summary: `test=0 build=0 pack=0 whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with owner/publisher permission for `n8n-nodes-alga-psa`. - (2026-02-17) Release publish revalidation (autonomous run at 00:15 UTC): - Re-ran strict release sequence in one shell: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`, `npm whoami`, `npm view n8n-nodes-alga-psa version`, `npm -w packages/n8n-nodes-alga-psa publish --access public`. - Local release gates all passed (`44` tests; build succeeded; dry-run tarball includes compiled `dist/` artifacts). - Registry checks remain blocked and unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish remains blocked: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Exit-code summary: `test=0 build=0 pack=0 whoami=1 view=1 publish=1`. - Decision: stop repeated publish retries in this environment until npm credentials/ownership are updated; additional local reruns provide no new signal. - (2026-02-17) Release publish revalidation (autonomous run at 00:17 UTC): - Local release gates passed in strict order: `npm -w packages/n8n-nodes-alga-psa test` (`44` tests), `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run` (tarball includes compiled `dist/` artifacts). - Registry checks remain blocked: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish remains blocked: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports `Access token expired or revoked` and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Exit-code summary: `test=0 build=0 pack=0 whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with owner/publisher permission for `n8n-nodes-alga-psa`. - (2026-02-17) Release publish revalidation (autonomous run at 00:19 UTC): - Re-ran release checks in sequence: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`; all passed (`44` tests) and dry-run tarball includes `dist/` artifacts. - Registry/auth state is unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish remains blocked: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports token expired/revoked and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Auth-context check: `env | rg -i '(^npm_|_npm|token)'` shows no alternate npm auth env var; `~/.npmrc` contains a configured npm token entry, but it is currently invalid for `whoami`/publish (token redacted). - `F030`/`T046` remain blocked on refreshed npm credentials with owner/publisher permission for `n8n-nodes-alga-psa`. - (2026-02-17) Release publish revalidation (autonomous run at 00:21 UTC): - Local release gates still pass in order: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run` (`44` tests; dry-run tarball includes compiled `dist/` artifacts). - Registry/auth checks remain blocked: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`. - Publish attempt remains blocked: `npm -w packages/n8n-nodes-alga-psa publish --access public` reports token expired/revoked and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Exit-code summary: `whoami=1 view=1 publish=1`. - `F030`/`T046` remain externally blocked pending refreshed npm credentials with owner/publisher permission for `n8n-nodes-alga-psa`. - (2026-02-17) Release publish revalidation (autonomous run at 00:22 UTC): - Re-ran strict release sequence in one shell: `npm -w packages/n8n-nodes-alga-psa test`, `npm -w packages/n8n-nodes-alga-psa run build`, `npm -w packages/n8n-nodes-alga-psa pack --dry-run`, `npm whoami`, `npm view n8n-nodes-alga-psa version`, `npm -w packages/n8n-nodes-alga-psa publish --access public`. - Local release gates all passed (`44` tests; build succeeded; dry-run tarball includes compiled `dist/` artifacts). - Registry/auth checks remain blocked and unchanged: `npm whoami` => `E401 Unauthorized`; `npm view n8n-nodes-alga-psa version` => `E404 Not Found`; publish reports token expired/revoked and returns npm `E404` permission/not-found for `n8n-nodes-alga-psa@0.1.0`. - Exit-code summary: `test=0 build=0 pack=0 whoami=1 view=1 publish=1`. - Decision: `F030`/`T046` remain externally blocked until a valid npm token with owner/publisher rights for `n8n-nodes-alga-psa` is configured.