> :warning: **OpenSpec-managed issue** — this content is automatically synced > from the `openspec/` directory. Manual edits will be overwritten on next sync. ## Artifacts - :white_check_mark: [Metadata](https://github.com/ConductionNL/shillinq/blob/development/openspec/changes/hours-to-humaniq/.openspec.yaml) - :white_check_mark: [Proposal](https://github.com/ConductionNL/shillinq/blob/development/openspec/changes/hours-to-humaniq/proposal.md) - :white_check_mark: [Specs](https://github.com/ConductionNL/shillinq/blob/development/openspec/changes/hours-to-humaniq/specs/) - :black_square_button: Design - :white_check_mark: [Tasks](https://github.com/ConductionNL/shillinq/blob/development/openspec/changes/hours-to-humaniq/tasks.md) - :black_square_button: Plan - :black_square_button: Review ## Specs - [:page_facing_up: hours-to-humaniq](https://github.com/ConductionNL/shillinq/blob/development/openspec/changes/hours-to-humaniq/specs/hours-to-humaniq/spec.md) ## Tasks - [ ] 1.1 Write `design.md` choosing between the derived-cost-line shape and - [ ] 1.2 Confirm ADR-107 is promoted from Proposed to Accepted, or record - [ ] 2.1 Add an `occ` command that counts `UrenRegistratie` rows with a - [ ] 2.2 Run it on the dev instance and on every reachable install. Record - [ ] 2.3 Only when every count is zero: proceed. Otherwise write a data - [ ] 3.1 Humaniq writes case-scoped hours: `TimeEntry.domainObjectRef` + - [ ] 3.2 Correct humaniq's `x-notes` example from `procest:case` to - [ ] 3.3 Shillinq reads hours from humaniq for the ledger, in the shape - [ ] 4.1 `SubjectCostAggregator` (1 reference). Smallest, and it proves the - [ ] 4.2 `FinancialDashboardService` (3 references). Reporting only, no tax - [ ] 4.3 `InvoiceGenerationService` (2 references) and - [ ] 4.4 `WBSOExportValidationGuard` (5 references). Subsidy. Run old and - [ ] 4.5 `UrencriteriumGuard` (2 references). A wrong 1225-hour count costs - [ ] 5.1 Delete `lib/Settings/register.d/uren-domain-subject-link.json`. - [ ] 5.2 Delete `tests/Unit/Settings/UrenDomainSubjectLinkTest.php`. - [ ] 5.3 Update the four affected specs: `invoice-from-time-and-expense`, - [ ] 6.1 Every hours surface shows a named empty state when humaniq is - [ ] 6.2 Add a test that asserts the empty state, not the zero. --- *Synced from `openspec/changes/hours-to-humaniq` by OpenSpec workflow* *App: `shillinq`*
Artifacts
Specs
Tasks
design.mdchoosing between the derived-cost-line shape andocccommand that countsUrenRegistratierows with aTimeEntry.domainObjectRef+x-notesexample fromprocest:casetoSubjectCostAggregator(1 reference). Smallest, and it proves theFinancialDashboardService(3 references). Reporting only, no taxInvoiceGenerationService(2 references) andWBSOExportValidationGuard(5 references). Subsidy. Run old andUrencriteriumGuard(2 references). A wrong 1225-hour count costslib/Settings/register.d/uren-domain-subject-link.json.tests/Unit/Settings/UrenDomainSubjectLinkTest.php.invoice-from-time-and-expense,Synced from
openspec/changes/hours-to-humaniqby OpenSpec workflowApp:
shillinq