Hermes 284313f908
Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

51 KiB

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

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.