Skip to content

Add docs/uiRequirements.md; trim productRequirements.md to a feature description - #413

Merged
missingbulb merged 2 commits into
mainfrom
claude/ecstatic-maxwell-qzh42a
Jun 19, 2026
Merged

Add docs/uiRequirements.md; trim productRequirements.md to a feature description#413
missingbulb merged 2 commits into
mainfrom
claude/ecstatic-maxwell-qzh42a

Conversation

@missingbulb

Copy link
Copy Markdown
Owner

Adds docs/uiRequirements.md — the popup's specific, numbered UI requirements, clustered and ordered hierarchically (9 clusters: heading, empty state, affordance links, card grouping & ordering, card appearance, date/time display, list/scrolling/overflow, count label, opening an event) so the UI snapshot tests can cite requirements by number (e.g. 5.6.1 = future-year green pill).

Trims productRequirements.md to a rough, feature-level description: the popup-rendering specifics (added in #409 as an interim home) move into the new doc, with a pointer from each section. Both docs state the distinction.

Scope split, per review:

  • uiRequirements.md = the popup's rendering only.
  • productRequirements.md = rough feature description + everything about the Calendar event/URL the popup produces (date/time/timezone semantics, default duration, field mapping). The toolbar icon and the source-request issue form also stay there.
  • The list scrolling / height cap / count label are rendering → uiRequirements; the purely-display halves of date/time (rounding, ranges, "All day" label, wall-clock) are in uiRequirements §6, while the instant/duration semantics stay in productRequirements.

Wired into README's doc list and cross-linked so the docs-reachable guard stays green. Doc-only; npm run test:offline 234/234.

Closes #410

🤖 Generated with Claude Code

https://claude.ai/code/session_01JLLCE19fRBY51wkfJL7yi7


Generated by Claude Code

claude added 2 commits June 19, 2026 18:53
Create a dedicated home for the popup's specific, testable UI requirements,
clustered and ordered hierarchically with every leaf numbered (e.g. 5.6.1)
so the UI snapshot tests can reference requirements by number. Scope is the
popup only — the toolbar icon and the source-request issue form stay in
productRequirements.md.

Move the specific UI requirements out of productRequirements.md (added as an
interim home in #409): it now carries only the rough, feature-level
description and points to uiRequirements.md for the exact rendering. Both
docs state the distinction. Wire the new doc into README's doc list and
cross-link it so the docs-reachable guard stays green.

Refs #410
The event-list scrolling, height cap, and count label are popup rendering
specifics already covered by uiRequirements.md (§7-8); keep only the
feature-level card description here and let the pointer cover them. The
date/time/timezone rules stay: they govern the instant/duration of the
Calendar event the URL creates (their purely-display halves already moved
to uiRequirements §6).

Refs #410
@missingbulb
missingbulb merged commit fdb020f into main Jun 19, 2026
2 checks passed
@missingbulb
missingbulb deleted the claude/ecstatic-maxwell-qzh42a branch June 19, 2026 19:29
missingbulb added a commit that referenced this pull request Jul 23, 2026
…or) (#712)

Converge .claudinite/shared/ to the fixed Claudinite canon head (61b90ee,
#413) out-of-band — a maintenance PR, NOT through the still-broken executor,
which is the deadlock this breaks: the broken executor cannot run baselining
to refresh its own mount to get the fix.

This single vendor refresh lands the two load-bearing files:

- engine/scheduler/executor.md — the executor routine's operating
  instructions, stripped from every cut-over consumer's mount by
  compute-vendor-set (all engine *.md excluded). Its absence is the root
  cause of #710: the executor booted with no instructions and could drain
  nothing, so the 6 ready-for-agent dispatches (#703-#708) accumulated
  unprocessed. Fixed in canon by the VENDORED_ENGINE_DOCS whitelist (#413).
- packs/basics/tasks/baselining/worker.mjs — the E4 native-git
  agent_preprocessing worker, plus its primitives (converge-wiring.mjs,
  preprocess.mjs, the vendored migrations/ tree, and the run.mjs /
  task-contract.mjs / validate-dispatch.mjs updates).

Once merged, the executor has instructions and drains the 6 stuck
dispatches; baselining becomes the Action-side worker. This refresh is the
start of the real E4 live pilot (per-project-scheduling / agent-preprocessing
DESIGN). Stamp advances b5103ea -> 61b90ee.

Refs #710, missingbulb/Claudinite#394.


Claude-Session: https://claude.ai/code/session_01NxpkHKaRquzERqEeXdzUnW

Co-authored-by: Claude <noreply@anthropic.com>
missingbulb added a commit that referenced this pull request Jul 27, 2026
…ch hazard (#769)

This repo was carrying a 75-line `engine/scheduler/executor.md` — the copy as
it stood at the stamped ref 61b90ee (#413, the commit that first shipped
executor.md to consumers). Every other member of the fleet had since moved on;
we had not. The gap was not cosmetic:

  - the **one-session/one-issue** concurrency guard was missing, so a run was
    free to sweep every due task instead of running only the issue that
    triggered it; and
  - the **earliest-claim-wins** tie-break was missing, so two sessions that
    both claimed the same issue would both proceed.

Together those are precisely the guards that stop duplicate dispatch. Without
them concurrent scheduler runs can file duplicate tracker issues, duplicate bug
reports, and duplicate PRs making the same change — a live correctness hazard,
not latent drift.

Re-vendoring from current canon (526c991) brings executor.md to its present
188-line form and lands `engine/scheduler/resolve-dispatch.mjs` alongside it —
the shell executor.md's step 1 now invokes. The two ship as one unit in the
vendor set, so the mount stays import-closed.

Stamp: 61b90ee -> 526c991. 189 files vendored (mount 192 -> 189; the net drop is
the retired tidy-repo/repo-tidy task, not a truncation). Stamp lineage was
checked before vendoring: 61b90ee is a genuine ancestor of origin/main, so the
stamp was honest-but-stale and needed no correction.

`converge-wiring.mjs` additionally corrected the scheduler workflow: `actions:`
read -> write (creating a workflow_dispatch event needs write; `read` silently
403s the POST) and added the `report-failure` escalation job. No stamp fields
changed and the cron minute was re-derived unchanged.

check_the_world: 0 blocking before and after. Advisories 11 -> 10 — the
refreshed wiring resolved `gha/scheduled-failure-escalation`. Nothing new was
introduced and nothing had to be forced or suppressed.

Refs missingbulb/Claudinite#394


Claude-Session: https://claude.ai/code/session_01LgokEeqgbFvhbLqbYwxHgx

Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add docs/uiRequirements.md: numbered popup UI requirements; trim productRequirements.md to a rough feature description

2 participants