Timing total 2792086s
| Intake conversation | 448s |
| Gate 1 (spec review) | 70s |
| Planning | 99s |
| Gate 2 (plan review) | 85s |
| Specialists + checks | 430358s |
| Gate 3 (diff review) (in progress) | 2361025s |
Token burn total 314,077 (in 202,166 / out 111,911) · est. cost $9.66
orchestrator 197,816
+
specialists 116,261
=
total 314,077
| Phase | Input | Output | Total | Calls |
|---|---|---|---|---|
| intake | 4,722 | 1,328 | 6,050 | 3 |
| architect | 186,639 | 5,127 | 191,766 | 2 |
| specialist:api2 | 10,805 | 105,456 | 116,261 | 2 |
| TOTAL | 202,166 | 111,911 | 314,077 | 7 |
Agent Neo activity — live output from the architect & specialists
loading…
Candidate learnings 10 pending — harvested from specialist reports
Deviations and open questions the specialists flagged. Accepting
appends the note to context/learnings.md, which the
architect reads on future runs. Dismissing drops it. Nothing
enters the agents' context until you accept it.
deviation
specialist:api2
**Necessary wiring beyond `files:`.** The spec's `files:` frontmatter listed only the four resource files (repeated). Mounting in `app.ts`, the Swagger schema, and the e2e DB helper were required for the feature to actually work and be tested. These are additive and touch no unrelated behaviour.
deviation
specialist:api2
**Project scope on a top-level route.** The spec puts the endpoints at `/api/v2/systems` (top level) yet requires reuse of `PROJECT_VIEW` / `PROJECT_EDIT`, which `hasRolesOrProjectAccess` derives from `req.params.projectId`. Since there is no `:projectId` path segment, the client supplies `projectId` as a **query param** on the two GETs and as a **body field** on POST, and the validator copies it to `req.params.projectId` before the auth middleware runs. This keeps the shared middleware unchanged. (Every sibling commissioning resource — assets, asset-types, system-types — is instead nested und
deviation
specialist:api2
**Build/tests not executed locally.** `node_modules` is not installed in this environment and the task instructions forbid installing a toolchain, so `tsc --noEmit`, unit, and e2e runs were skipped and left for the pipeline.
open_question
specialist:api2
**DB function names/signatures** were inferred from the sibling convention (`fn_Get<Entity>List` / `fn_Get<Entity>` / `fn_Insert<Entity>`). They are assumed to already exist in master. If the actual `CommissioningSystem` functions differ (name, arg order, or list `Id` column used for pagination `indexId`), adjust `SQL`/`mapRow` in `systems.service.ts`.
open_question
specialist:api2
**Response shape**: `commissioningSystemId`, `name`, `systemTypeId`, `createdBy`, `insertedOn`, `lastModifiedOn`, `lastModifiedBy` — mirrors `Asset`. Confirm the table actually exposes `SystemTypeId` (vs. another FK).
open_question
specialist:api2
Confirm the top-level `/api/v2/systems` shape (query/body `projectId`) is intended vs. nesting under `/api/v2/projects/:projectId/systems`.
open_question
specialist:api2
Confirm the exact `CommissioningSystem` DB function names, argument order, and the column the list function returns for pagination indexing.
deviation
specialist:api2
The spec listed the endpoints under `/api/v2/systems` (top-level) rather than nested under `/api/v2/projects/:projectId/...`. Implemented as top-level and project-scoped: `projectId` is supplied by the client (query param for the two reads, body field for create) and copied onto `req.params.projectId` so the existing `hasRolesOrProjectAccess` middleware is reused unchanged. Reads use `PROJECT_VIEW`, create uses `PROJECT_EDIT` — no new permissions.
deviation
specialist:api2
No new DDL/DB functions/permissions were added, per the spec's out-of-scope list.
open_question
specialist:api2
**`CommissioningSystem` DB objects (e2e only).** The service assumes the table `xyz."CommissioningSystem"` and functions `fn_GetCommissioningSystemList` / `fn_GetCommissioningSystem` / `fn_InsertCommissioningSystem` already exist in the database (per the spec, and consistent with how the `Asset`/`SystemType` siblings are wired). These live in the external `PostgreSQLDatabase` repo and are owned by the pg/citus specialists — not the api2 layer. The api2 verification commands (`tsc`, `npm test`) do not depend on them and pass. If the mandatory e2e suite (`npm run test:e2e:local`, run with Docker
Conversation
Implement System entity CR endpoints in api2, database functions are already in master, get list should be paginated, follow same pattern as other entities
A couple of quick questions to nail the scope.
3 questions (already answered)
- Which endpoints should be included in v1 (CR = no Update/Delete)?
- What fields does a System entity have? (list the key ones, or paste the DB function signature if handy)
- Should the list endpoint be scoped to the authenticated user's organisation, or return all systems (admin-only)?
**Which endpoints should be included in v1 (CR = no Update/Delete)?**
→ POST /systems (create), GET /systems (list, paginated), GET /systems/:id (get one)
**What fields does a System entity have? (list the key ones, or paste the DB function signature if handy)**
→ CREATE TABLE IF NOT EXISTS xyz."CommissioningSystem" ( "Id" INT GENERATED ALWAYS AS IDENTITY, "InsertedOn" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT TIMEZONE('UTC', NOW()), "CommissioningSystemId" UUID NOT NULL DEFAULT GEN_RANDOM_UUID(), "ProjectShardId" INT NOT NULL, "SystemTypeId" UUID NOT NULL, "Name" TEXT NOT NULL, "CreatedBy" TEXT NOT NULL, "LastModifiedOn" TIMESTAMP WITH TIME ZONE NULL, "LastModifiedBy" TEXT NULL, "IsDeleted" BOOLEAN NOT NULL DEFAULT FALSE, "DeletedOn" TIMESTAMP WITH TIME ZONE NULL, "DeletedBy" TEXT NULL, CONSTRAINT "CommissioningSystem_pkey" PRIMARY KEY ("ProjectShardId", "CommissioningSystemId") );
**Should the list endpoint be scoped to the authenticated user's organisation, or return all systems (admin-only)?**
→ Both (role-dependent)
→ POST /systems (create), GET /systems (list, paginated), GET /systems/:id (get one)
**What fields does a System entity have? (list the key ones, or paste the DB function signature if handy)**
→ CREATE TABLE IF NOT EXISTS xyz."CommissioningSystem" ( "Id" INT GENERATED ALWAYS AS IDENTITY, "InsertedOn" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT TIMEZONE('UTC', NOW()), "CommissioningSystemId" UUID NOT NULL DEFAULT GEN_RANDOM_UUID(), "ProjectShardId" INT NOT NULL, "SystemTypeId" UUID NOT NULL, "Name" TEXT NOT NULL, "CreatedBy" TEXT NOT NULL, "LastModifiedOn" TIMESTAMP WITH TIME ZONE NULL, "LastModifiedBy" TEXT NULL, "IsDeleted" BOOLEAN NOT NULL DEFAULT FALSE, "DeletedOn" TIMESTAMP WITH TIME ZONE NULL, "DeletedBy" TEXT NULL, CONSTRAINT "CommissioningSystem_pkey" PRIMARY KEY ("ProjectShardId", "CommissioningSystemId") );
**Should the list endpoint be scoped to the authenticated user's organisation, or return all systems (admin-only)?**
→ Both (role-dependent)
One more round to clarify filtering and auth behaviour.
4 questions (already answered)
- How is the role-dependent scoping determined — same pattern as other entities in API2 (e.g. JWT claim / middleware)?
- Which filters should the GET /systems list endpoint support?
- For POST /systems, who supplies CreatedBy — derived from the JWT token server-side, or passed in the request body?
- What is the public-facing identifier used in GET /systems/:id — the UUID (CommissioningSystemId) or something else?
**How is the role-dependent scoping determined — same pattern as other entities in API2 (e.g. JWT claim / middleware)?**
→ Yes, same pattern as existing entities
**Which filters should the GET /systems list endpoint support?**
→ No filter, just omit IsDeleted ones, also project scope is expected
**For POST /systems, who supplies CreatedBy — derived from the JWT token server-side, or passed in the request body?**
→ Derived from JWT server-side
**What is the public-facing identifier used in GET /systems/:id — the UUID (CommissioningSystemId) or something else?**
→ CommissioningSystemId
→ Yes, same pattern as existing entities
**Which filters should the GET /systems list endpoint support?**
→ No filter, just omit IsDeleted ones, also project scope is expected
**For POST /systems, who supplies CreatedBy — derived from the JWT token server-side, or passed in the request body?**
→ Derived from JWT server-side
**What is the public-facing identifier used in GET /systems/:id — the UUID (CommissioningSystemId) or something else?**
→ CommissioningSystemId
Enough to spec the three CR endpoints for the CommissioningSystem entity in API2.
Spec ready — see Gate 1 below.
Chat closed — run has advanced past intake.
Spec
approve
Plan
approve
Specialist bundles pending
api2
at storage/clones/c6d1ee258613/api2
added: 6
modified: 3
deleted: 0
Added files
Gate 3: approve, revise, or reject
Test verification:
api2: passed
test log & output
src/api/v2/projects/assettypes | 100 | 100 | 100 | 100 | asset.types.controller.ts | 100 | 100 | 100 | 100 | src/api/v2/projects/batchfiles | 78.78 | 25 | 100 | 78.78 | batchfiles.controller.ts | 78.78 | 25 | 100 | 78.78 | 15-25,42,55 src/api/v2/projects/categoryTypes | 91.57 | 100 | 88.23 | 91.02 | category.types.controller.ts | 91.57 | 100 | 88.23 | 91.02 | 105-112 src/api/v2/projects/cde | 50.56 | 47.82 | 46.66 | 48.82 | cde.controller.ts | 32.17 | 0 | 30 | 32.17 | ...60-176,180-242 cde.criteria.validator.ts | 78.37 | 60 | 66.66 | 78.78 | 17-21,28-31,56-57 cde.link.validator.ts | 92.3 | 88.88 | 100 | 90.9 | 44,61 ...projects/commissioning/taskFolders | 100 | 100 | 100 | 100 | ...ioning.task.folders.controller.ts | 100 | 100 | 100 | 100 | ...2/projects/commissioning/workflows | 100 | 100 | 100 | 100 | ...issioning.workflows.controller.ts | 100 | 100 | 100 | 100 | src/api/v2/projects/coordinates | 90.98 | 84.11 | 91.93 | 90.41 | conflict.controller.ts | 100 | 100 | 100 | 100 | conflict.validator.ts | 94.73 | 91.66 | 100 | 93.75 | 43-44 coordinates.controller.ts | 82.55 | 77.41 | 78.26 | 82.3 | ...55,168,243-244 coordinates.helper.ts | 94.54 | 65 | 100 | 94.33 | 23,75,83 coordinates.validator.ts | 97.4 | 95 | 100 | 96.72 | 25,43 src/api/v2/projects/devices | 100 | 100 | 100 | 100 | project.devices.controller.ts | 100 | 100 | 100 | 100 | project.devices.delegation.ts | 100 | 100 | 100 | 100 | project.devices.validator.ts | 100 | 100 | 100 | 100 | src/api/v2/projects/devices/handlers | 100 | 92.85 | 100 | 100 | project.devices.v1.handler.ts | 100 | 92.85 | 100 | 100 | 33 src/api/v2/projects/disciplines | 92.85 | 75 | 100 | 91.66 | disciplines.controller.ts | 92.85 | 75 | 100 | 91.66 | 18,34 src/api/v2/projects/elements | 93.77 | 84.11 | 95.65 | 93.33 | element-helpers.ts | 50 | 100 | 0 | 50 | 14 elements.activities.controller.ts | 95.31 | 78.37 | 100 | 94.82 | 23,41-42 elements.activities.validator.ts | 100 | 100 | 100 | 100 | elements.status.controller.ts | 90.69 | 80.76 | 100 | 89.74 | 82-89,130-136 elements.status.validator.ts | 96.55 | 87.5 | 100 | 97.82 | 48 src/api/v2/projects/folders | 91.66 | 82.81 | 96 | 91.01 | folders.controller.ts | 89.4 | 70.27 | 95.23 | 88.88 | ...85-189,225,231 folders.validator.ts | 100 | 100 | 100 | 100 | src/api/v2/projects/images | 75.28 | 50 | 100 | 75.28 | image.uploader.ts | 75.28 | 50 | 100 | 75.28 | ...91-208,227-276 ...api/v2/projects/images/360captures | 94.03 | 83.63 | 100 | 94.4 | 360captures.controller.ts | 95.74 | 72.72 | 100 | 95.18 | 78,91,112-113 360captures.validator.ts | 91.22 | 86.36 | 100 | 92.85 | 45-48 src/api/v2/projects/images/photos | 83.69 | 71.42 | 88 | 83 | photos.controller.ts | 88.07 | 75 | 90 | 86.95 | 87,125,137-152 photos.validator.ts | 77.33 | 70.83 | 80 | 77.04 | ...59,62,71,90-95 src/api/v2/projects/issues | 72.07 | 49.42 | 67.5 | 70.94 | issue.comments.controller.ts | 100 | 100 | 100 | 100 | issue.comments.validator.ts | 88.46 | 75 | 100 | 100 | 17-28 issue.notification.service.ts | 25 | 0 | 0 | 25 | 25-49,61-78 issues.controller.ts | 69.48 | 29.41 | 61.9 | 68.38 | ...30-238,243-249 issues.validator.ts | 78.18 | 67.85 | 72.72 | 77.38 | ...01,156-169,182 src/api/v2/projects/issues/categories | 97.72 | 92 | 100 | 97.36 | issues.categories.controller.ts | 100 | 100 | 100 | 100 | issues.categories.validator.ts | 95.74 | 91.3 | 100 | 95.12 | 69,73 .../v2/projects/issues/fileReferences | 97.22 | 78.94 | 100 | 96.87 | issues.fileReferences.controller.ts | 96.15 | 70.83 | 100 | 95.83 | 66,71 issues.fileReferences.validator.ts | 100 | 92.85 | 100 | 100 | 11 src/api/v2/projects/issues/history | 99.29 | 83.15 | 100 | 99.22 | issue.history.controller.ts | 99.23 | 82.41 | 100 | 99.17 | 83 issue.history.validator.ts | 100 | 100 | 100 | 100 | src/api/v2/projects/issues/models | 100 | 83.33 | 100 | 100 | issues.models.controller.ts | 100 | 50 | 100 | 100 | 15-34 issues.models.validator.ts | 100 | 92.85 | 100 | 100 | 11 src/api/v2/projects/markers | 81.73 | 84.44 | 80 | 83.87 | marker.validator.ts | 81.81 | 81.08 | 83.33 | 86.36 | 30-34,76-80 markers.controller.ts | 81.63 | 100 | 75 | 81.63 | 63-65,76-83 src/api/v2/projects/models | 94.4 | 92.5 | 94.73 | 93.67 | models.controller.ts | 89.1 | 83.33 | 87.5 | 88.37 | 33,91-99,140-141 models.validator.ts | 95.16 | 91.48 | 100 | 94.17 | 31-34,84-87 models.version.controller.ts | 100 | 100 | 100 | 100 | request.validator.ts | 100 | 100 | 100 | 100 | src/api/v2/projects/projectfiles | 86.2 | 84.61 | 57.14 | 86.53 | projectfiles.controller.ts | 86.2 | 84.61 | 57.14 | 86.53 | 15-35 src/api/v2/projects/rooms | 88.63 | 50 | 71.42 | 89.18 | rooms.controller.ts | 100 | 100 | 100 | 100 | rooms.validator.ts | 72.22 | 50 | 33.33 | 71.42 | 19-23,27 ...pi/v2/projects/rooms/capturepoints | 86.13 | 73.64 | 100 | 93.75 | rooms.capturepoints.controller.ts | 100 | 50 | 100 | 100 | 61-62 rooms.capturepoints.validator.ts | 80.55 | 75 | 100 | 90.9 | ...43,146,154,157 src/api/v2/projects/schedules | 97.36 | 93.33 | 100 | 97.77 | schedules.controller.ts | 96.92 | 75 | 100 | 96.22 | 32-33 schedules.validator.ts | 97.95 | 97.29 | 100 | 100 | 32 src/api/v2/projects/systemTypes | 100 | 100 | 100 | 100 | system.types.controller.ts | 100 | 100 | 100 | 100 | src/api/v2/projects/userfiles | 86.84 | 90.62 | 80 | 85.93 | userfiles.controller.ts | 85.24 | 91.66 | 75 | 84.9 | 17,25-36 userfiles.validator.ts | 93.33 | 87.5 | 100 | 90.9 | 12 src/api/v2/projects/videos | 69.79 | 74.73 | 62.5 | 68.09 | videos.controller.ts | 67.64 | 80 | 57.89 | 66.94 | ...66-194,198-210 videos.validator.ts | 75 | 68.88 | 80 | 71.11 | 40-63,89,97 src/api/v2/systems | 100 | 100 | 100 | 100 | systems.controller.ts | 100 | 100 | 100 | 100 | src/api/v2/tenants | 69.76 | 50 | 60 | 69.44 | tenant.controller.ts | 61.29 | 0 | 50 | 59.25 | 26-39 tenant.validator.ts | 91.66 | 75 | 100 | 100 | 13 src/clients | 50.13 | 45.35 | 37.5 | 49.65 | ai.service.client.ts | 68.05 | 44.23 | 58.33 | 67.6 | ...-63,76,133,150 authorised.iam.client.ts | 11.34 | 0 | 0 | 10.41 | ...25-186,191-199 authorised.notification.client.ts | 78.57 | 52 | 50 | 78.04 | 75-78,105-117 autodesk.client.ts | 10.61 | 100 | 10.52 | 9.82 | ...75,286-288,294 autodesk.profile.client.ts | 63.15 | 75 | 50 | 61.11 | 14-25,39 billy.search.client.ts | 55.55 | 66.66 | 50 | 52.94 | 20-42,55 clients.ts | 52 | 31.94 | 35.71 | 53.06 | ...25,39-48,59-89 iam.client.helper.ts | 100 | 90.9 | 100 | 100 | 28,70 iam.client.ts | 69.29 | 49.09 | 58.82 | 68.75 | ...16,282,288,293 mapbox.client.ts | 100 | 91.66 | 100 | 100 | 33,48-49 redis.client.ts | 33.33 | 22.44 | 31.25 | 34.54 | ...06-141,150-220 service.clients.ts | 100 | 100 | 100 | 100 | src/db | 28.07 | 0 | 0 | 26 | db.ts | 28.07 | 0 | 0 | 26 | ...,84-91,103-117 src/middleware | 44.53 | 28.88 | 46.15 | 43.31 | api-version.middleware.ts | 100 | 100 | 100 | 100 | authorisation.ts | 56.03 | 34.28 | 47.61 | 54.9 | ...98,132-162,190 middleware.ts | 26.36 | 16.32 | 41.17 | 25.24 | ...58-175,180-187 src/models | 100 | 100 | 100 | 100 | egress.ts | 100 | 100 | 100 | 100 | ingress.ts | 100 | 100 | 100 | 100 | src/services | 37 | 27.4 | 26.42 | 36.72 | 360capture.service.ts | 60.46 | 45 | 50 | 59.52 | ...8,49-51,94-104 activities.categories.service.ts | 17.92 | 0 | 0 | 18.26 | ...61-183,189-202 activities.service.ts | 21.52 | 11.11 | 11.11 | 21.27 | ...11-154,175-302 asset.types.service.ts | 29.03 | 0 | 0 | 30 | ...51,56-64,69-74 assets.service.ts | 29.03 | 0 | 0 | 30 | ...51,56-64,69-74 azure.blob.service.ts | 18.79 | 0 | 0 | 18.01 | ...74-175,197-225 azure.table.service.ts | 14.92 | 0 | 0 | 16.39 | ...67-106,110-143 batchfiles.service.ts | 25.8 | 0 | 0 | 25.8 | ...71,76-82,86-87 category.types.service.ts | 27.08 | 0 | 0 | 27.08 | ...2-70,75-79,105 cde.service.ts | 17.72 | 0 | 0 | 17.83 | ...29-239,243-361 cde.user.service.ts | 30.76 | 0 | 0 | 30.76 | 7-22 ...issioning.task.folders.service.ts | 26.31 | 0 | 0 | 26.31 | ...63,68-73,83-91 commissioning.workflows.service.ts | 24.44 | 0 | 0 | 24.44 | ...57,62-73,78-88 coordinates.conflict.service.ts | 16.25 | 0 | 0 | 16.25 | ...,84-94,100-179 coordinates.service.ts | 15.38 | 0 | 0 | 15.5 | ...68-178,184-246 default.disciplines.service.ts | 24.24 | 0 | 0 | 25 | ...36,41-47,52-57 devices.service.ts | 37.16 | 18.03 | 25 | 37.24 | ...38,243,250-279 disciplines.service.ts | 31.57 | 100 | 0 | 33.33 | 9-24,28-38 fileReference.service.ts | 42.85 | 100 | 0 | 42.85 | 5-12 folders.service.ts | 71.79 | 50 | 88.46 | 68.26 | ...03-218,236-240 issue.comments.service.ts | 75.92 | 67.5 | 100 | 73.46 | 19-25,42-49 issue.history.service.ts | 41.86 | 68 | 42.85 | 41.46 | ...82,101-107,158 issue.location.ts | 33.33 | 0 | 0 | 31.57 | 10-21,26-32 issue.severity.service.ts | 38.46 | 0 | 0 | 38.46 | 9-26 issue.types.service.ts | 27.58 | 0 | 0 | 24 | 8-19,24-47 issues.categories.service.ts | 42.85 | 0 | 0 | 45 | 18-36,42 issues.fileReference.service.ts | 42.85 | 0 | 0 | 45 | 12-28,34 issues.models.service.ts | 50 | 0 | 0 | 50 | 11-19,25 issues.service.ts | 37.93 | 27.88 | 31.42 | 36.86 | ...55-393,461-494 markers.services.ts | 15.15 | 0 | 0 | 15.38 | ...5,71-82,88-105 model.elements.status.service.ts | 15.03 | 0 | 0 | 15.03 | ...52-276,282-283 models.service.ts | 19.78 | 1.52 | 10 | 20 | ...80-265,271-382 models.version.service.ts | 21.73 | 0 | 0 | 22.05 | ...38-149,154-163 package.predictions.service.ts | 23.8 | 0 | 0 | 23.8 | 9-36 photos.service.ts | 50 | 42.85 | 22.22 | 49.12 | ...8,72-74,99-130 portfolio.service.ts | 70.05 | 49.25 | 91.66 | 72.92 | ...08-409,426-429 projectfiles.service.ts | 88.88 | 90 | 85.71 | 89.7 | 57-64 projects.service.ts | 50 | 49.52 | 39.47 | 50.17 | ...38,941,944,947 rooms.capturepoints.service.ts | 75.62 | 71.79 | 85.71 | 75.47 | ...88,299,303-308 rooms.service.ts | 20.68 | 0 | 0 | 20.68 | 9-22,28-49 schedules.service.ts | 47.05 | 26.43 | 46.66 | 44.61 | ...37,324-356,382 system.types.service.ts | 23.91 | 0 | 0 | 23.91 | ...7,82-90,95-100 systems.service.ts | 29.03 | 0 | 0 | 30 | ...51,56-64,69-74 userfiles.service.ts | 19.23 | 0 | 0 | 19.8 | ...76-277,288-330 videos.service.ts | 44.82 | 18.75 | 25 | 43.85 | ...92-102,108-119 src/types | 90.1 | 92.85 | 73.58 | 90.1 | DbColumnsMappings.ts | 100 | 100 | 100 | 100 | categoryTypeHierarchyMapping.ts | 100 | 100 | 100 | 100 | cde.types.ts | 100 | 100 | 100 | 100 | devices.types.ts | 100 | 100 | 100 | 100 | errortypes.ts | 77.19 | 100 | 50 | 77.19 | ...03,109,120,132 http.types.ts | 100 | 100 | 100 | 100 | iam.types.ts | 100 | 100 | 100 | 100 | logger.properties.ts | 100 | 100 | 100 | 100 | marker.types.ts | 100 | 100 | 100 | 100 | model.elements.ts | 100 | 100 | 100 | 100 | notification.types.ts | 87.17 | 71.42 | 83.33 | 87.17 | 24-32 portfolio.types.ts | 100 | 100 | 100 | 100 | project.attachment.types.ts | 100 | 100 | 100 | 100 | src/util | 83.61 | 72.18 | 81.37 | 83.43 | array.util.ts | 100 | 100 | 100 | 100 | azure.util.ts | 95.78 | 85 | 95 | 95.69 | 61,192-213 blob-download-url.cache.ts | 94.2 | 96.36 | 100 | 94.11 | 107,154-156 business-region.ts | 100 | 100 | 100 | 100 | cde.token.util.ts | 100 | 100 | 100 | 100 | error.logger.util.ts | 100 | 100 | 100 | 100 | errorFormatter.ts | 96 | 100 | 85.71 | 95.23 | 50 fileDeletion.handler.ts | 96.66 | 72.72 | 100 | 96.66 | 76 fileReference.deletion.util.ts | 35.71 | 0 | 0 | 35.71 | 18-28 image.util.ts | 69.23 | 43.75 | 100 | 67.56 | ...35,42,58,76-81 logger.ts | 100 | 96.42 | 100 | 100 | 56 metrics.ts | 82.02 | 63.63 | 71.42 | 82.02 | ...79-283,316-320 pagination.util.ts | 88.88 | 91.66 | 100 | 85.71 | 14 query.util.ts | 26.19 | 2.56 | 42.85 | 22.5 | 7-19,30-37,44-66 store.ts | 100 | 100 | 100 | 100 | token.util.ts | 81.48 | 66.66 | 71.42 | 81.48 | 19,41-45 url.util.ts | 100 | 100 | 100 | 100 | username.ts | 83.33 | 77.77 | 100 | 100 | 8-11 utilities.ts | 100 | 100 | 100 | 100 | ---------------------------------------|---------|----------|---------|---------|-------------------
Revision round 1 applied.
Pipeline artifacts
Generated for review — not included in any PR or pushed to the repo.