Repository navigation
docs: write the three business-hours claims outside the SLA page to source (#928) - #933
Merged
Merged
Conversation
…ource (#928) PR #924 wrote the two business-hours promises on `service/sla-and-escalation` to source. The same promise was still being made in three other places, and the setup page had ended up contradicting the SLA page outright: - `administration/setup` section 2 — a checklist of three checkboxes under a bold "Setup → Business Hours" heading (working days, working hours, the year's holidays), closing with "business hours drive SLA calculations". No such screen, none of the three settings, and the page it linked to now says so - `reference/faq` "My SLA clock isn't running" — listed "business hours are configured" and "the priority has an SLA defined" as preconditions, then promised a default SLA. All three are fictional; the first bullet (open status) was correct and is unchanged - `reference/glossary` — the term was defined as "working days and hours used in SLA calculations" Re-confirmed on `origin/main` first: `business_hours` / `workingHours` / `businessCalendar` / `slaCalendar` have zero occurrences in `src/`, the only `business.?hour` matches are three seed product descriptions, and the only SLA deadline computed anywhere is `due.setHours(due.getHours() + 4)` in `src/objects/case.hook.ts`, for `critical` alone. Each place keeps the name it used and gains the real attribution. Three locales; no metadata under `src/` changed. Whether the app should grow a business-hours calendar stays open in #595. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VHrPAGEgFDoHjphqYG4BMa
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
This was referenced Aug 6, 2026
yinlianghui
marked this pull request as ready for review
August 6, 2026 11:05
This was referenced Aug 6, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #928
PR #924 wrote the two business-hours promises on
service/sla-and-escalationto source. The same promise was still being made in three other files — and the setup page, which links to that very page, had ended up contradicting it outright.Premise re-confirmed on fresh
origin/main(4855d50)The issue's evidence chain was re-run rather than reused:
grep -rniE "business.?hour" src/catalog.seed.ts:138,sales.seed.ts:585/:629)workingHours/businessCalendar/business_hours/slaCalendar/holidayinsrc/"Business Hours"innode_modules/@objectstack/console/dist/business hoursin@objectstack/specdue.setHours(due.getHours() + 4),src/objects/case.hook.ts:60-63,criticalonlySo: premise valid, all three claims fictional.
What changed
1.
administration/setupsection 2 — the expensive one. It was not a sentence but a configuration checklist: three checkboxes under a bold Setup → Business Hours heading (working days, working hours, the year's holidays), closing with "business hours drive SLA calculations" and a link to the SLA page. There is no such screen, none of the three settings exist, and after #924 the linked page states that in as many words — two pages disagreeing about one feature. The section keeps its number (so 3–14 do not shift) and its name, so a reader who was sent looking for that screen finds out what happened to it, and now says there is nothing to configure, that deadlines therefore run on calendar hours, and where the one real deadline comes from. The old example, "resolve within 8 business hours", is High's service commitment — nothing stampssla_due_datefor High — so it is named as a promise the team keeps rather than a clock the app runs.2.
reference/faq— "My SLA clock isn't running". Two of the three preconditions were fictional (business hours configured; the priority has an SLA defined) and so was the closing line about a default SLA. This is the one that costs a reader real time: an admin whose High case was not being timed went hunting for a configuration problem when the actual reason is that the hook stampssla_due_dateforcriticalalone. The answer now opens by saying nothing counts down at all, and the checklist is the real one — open status, a due date present at all, that due date already past with an hourly sweep since. The first bullet (open status) was correct and is unchanged: it matchescase_sla_monitor'sstatus: { $nin: ['resolved', 'closed'] }. The re-entrancy bullet #899 added above it is untouched.3.
reference/glossary— rewritten, not deleted. Deleting the entry would leave a reader who looked the term up with no answer, and the repo's own precedent for a term that is not a concept here is the Workflow rule entry (kept, explained). It now gives the industry meaning, states that HotCRM has none of it, and points at the wall-clock four hours.Three locales each. The zh section heading moves from 工作时间 / 工作時間 to 营业时间 / 營業時間 to match the SLA page it is being reconciled with; the case noun in the rewritten FAQ answer follows the repo-wide 工单 / 工單 rather than the 案例 that was local to that block.
Whether the app should grow a business-hours calendar, per-priority SLA definitions or a default SLA is #595's product question and is not pre-judged here — this records today's behaviour only.
Verification
All six gates run serially under the shared verification lock, on the branch as pushed:
pnpm validatepnpm typecheckpnpm lintpnpm hygienecontentand.changesetpnpm builddist/objectstack.json1921.4 KBpnpm test -- --maxWorkers=2Honest note on what that proves: no automated guard reads these three files.
grep -rniE "business.?hour|faq\.mdx|glossary|setup\.mdx" test/ scripts/returns nothing, and the docs guards that do exist (docs-drift,automation-docs-coverage,sharing-coverage,status-state-machines) pin other pages. The suite was therefore predicted green before it was run and stayed green; it confirms the change broke nothing, not that the new prose is true. What backs the prose is the source evidence in the table above, cited inline in the docs so the next reader can re-check it.src/is untouched —git diff --statis nine.mdxfiles plus the changeset.Generated by Claude Code