en un clic
tracking-frontend-worker
// Refactor and verify website timer/time-entry surfaces on the reused local runtime.
// Refactor and verify website timer/time-entry surfaces on the reused local runtime.
| name | tracking-frontend-worker |
| description | Refactor and verify website timer/time-entry surfaces on the reused local runtime. |
NOTE: Startup and cleanup are handled by worker-base. This skill defines the work procedure.
Use for features that change website timer UI behavior, page-family state, popup/editor behavior, autocomplete, calendar manipulation, or other browser-visible timer/time-entry interactions.
vite-plus — use for repo-local JS/toolchain commands and website test execution through the canonical root entrypoints.agent-browser — use for manual browser verification on the reused local runtime when the feature changes user-visible behavior.mission.md, mission AGENTS.md, .factory/services.yaml, .factory/library/architecture.md, .factory/library/user-testing.md, and .factory/library/documentation-traceability.md.expectedBehavior bullets and fulfills assertions into a concrete UI acceptance checklist before editing.AGENTS.md that govern this feature.http://127.0.0.1:5173 and http://127.0.0.1:8080. Do not start a new main frontend/backend runtime./timer stays one route, and calendar, list, timesheet are view modes, not new pages..factory/services.yaml.vp entrypoints only for JS/TS formatting, lint, typecheck, and test commands. Do not switch to ad hoc npx, standalone formatter binaries, or non-canonical wrappers.agent-browser to replay at least one real story path after automated tests pass unless the feature is purely non-visual. If you cannot do that, return to orchestrator instead of marking followedProcedure true./timer surface{
"salientSummary": "Split shared timer-page state out of `WorkspaceTimerPage`, kept `/timer` as one page family, and made selected TimerView persist across view changes and refresh. Added browser proof for calendar/list/timesheet sharing the same top composer and current timer.",
"whatWasImplemented": "Refactored the website timer page so calendar, list, and timesheet remain one `/timer` workbench with one shared top composer/header state and one current-timer identity. Added failing-first browser tests for same-route view switching plus TimerView persistence, updated the relevant timer research status blocks, and verified the behavior on the reused 5173/8080 runtime.",
"whatWasLeftUndone": "",
"verification": {
"commandsRun": [
{
"command": "vp run test:e2e:website -- e2e/timer-page.spec.ts --workers 1",
"exitCode": 0,
"observation": "Timer page real-runtime coverage passed."
},
{
"command": "vp run check -r",
"exitCode": 0,
"observation": "Repo JS/TS checks passed after the timer page refactor."
}
],
"interactiveChecks": [
{
"action": "Opened `/timer` in the reused website runtime, switched calendar/list/timesheet, refreshed, and rechecked the selected view plus top composer state.",
"observed": "The app stayed on `/timer`, the selected TimerView persisted, and the same composer/header state remained active across all three views."
}
]
},
"tests": {
"added": [
{
"file": "apps/website/e2e/timer-page.spec.ts",
"cases": [
{
"name": "keeps `/timer` stable while switching calendar, list, and timesheet",
"verifies": "VAL-ENTRY-001"
},
{
"name": "persists selected TimerView after refresh and workspace switch",
"verifies": "VAL-CROSS-005"
}
]
}
]
},
"discoveredIssues": []
}
AGENTS.md5173 or 8080 runtime is unavailable and the feature cannot be validated within mission boundariesUse when working in this repository after receiving recurring coding feedback, adding or reviewing durable lint guardrails from AGENTS.md, updating Rules/*.md, or finishing changes that should be checked by harness-lint.
Build and verify real-Postgres Go tests and thin transport smoke for tracking behavior.
Build and verify page-flow and E2E coverage for the tracking browser surface.
Build cross-layer regression coverage that ties browser-visible behavior to backend truth.
Harden shared test infrastructure, runtime readiness, schema setup, and parallel lane behavior.
Update backend timer/time-entry contracts, regressions, and source docs for the timer refactor mission.