Skip to content

fix(seed): drop the upgrade's close horizon from the Acme description - #1748

Merged
os-bill merged 1 commit into
mainfrom
claude/issue-1713-acme-account-drops-the-horizon
Sep 7, 2026
Merged

os-bill merged 1 commit into
mainfrom
claude/issue-1713-acme-account-drops-the-horizon

Conversation

@os-bill

@os-bill os-bill commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Fixes #1713

Description

The Acme Corporation description in src/data/sales.seed.ts kept its own copy of a date. The third Current state bullet asserted that the platform upgrade "closes in 30 days", while the record it describes seeds close_date as cel`daysFromNow(30)`. The two agree only at the instant the seed loads: the record resolves to a fixed calendar day and stops moving, and the prose keeps asserting thirty for as long as that demo database lives. A demo seeded three weeks ago shows an upgrade closing in nine days beside a description that says thirty.

Read this as a ruling conflict, not as someone deleting #1657's work

This card is the conflict between #1657 and #1660, and it has already been adjudicated: the ruling is that #1660 generalises. The removed clause was not an oversight. #1657 put that horizon there on purpose, and its changeset (.changeset/acme-narrative-and-a-flagged-partner.md) says so in as many words: the line previously read "Renewal due in 45 days", which named no record at all, and it was rewritten to name the upgrade and its real horizon.

Ruling (R64 triage, comment 5559408218): reading 1 — #1660 generalises; the horizon comes out of the prose. Three reasons, heaviest first:

  1. PR fix(seed): stop dating the Acme renewal from the account description #1715 did the opposite thing inside this same block one card earlier. The ARR bullet no longer carries a date, while this bullet still said "closes in 30 days". Leaving it meant one three-bullet block running two opposite rules, which is worse for a reader than either uniform answer.
  2. The Acme AI governance workshop is scheduled three different ways across three seeded records, and the task to book it is due a day after the event #1660's own stated reason does not support a next_step-only reading. It says "a second copy is a second thing to drift" — that is about copies and drift, not about which fields a rep may edit. The narrow reading requires rewriting what the comment actually says.
  3. The sentence is not empty without the horizon. The deal is open, it is in proposal, and the workshop on the calendar gates the signature. That second half is what the bullet is really about, and it does not drift.

Reading 3 (derive the horizon instead of typing it) was not taken: src/data/revenue.seed.ts already imports from sales.seed.ts, so the existing period-label helper cannot be reused in this direction without a circular import, and either way the 30 would be re-stated outside the record that owns it.

Reversibility. This ruling costs one line either way. If the maintainer holds that demo narrative should carry a real horizon (reading 2), reverting is a one-line revert — but then the in-file #1660 comment must be rewritten to state that it is limited to next_step, or the next reader walks into the same conflict.

Changes Made

  • src/data/sales.seed.ts — the third Current state bullet of the Acme Corporation description drops its horizon clause and keeps everything that stays true however the upgrade is scheduled.

Before:

- That upgrade closes in 30 days — AI agent governance became a
  hard requirement after their internal compliance review, so the
  workshop now on the calendar is the gate on signature.

After:

- AI agent governance became a hard requirement for that upgrade
  after their internal compliance review, so the workshop now on
  the calendar is the gate on signature.

The horizon is not re-derived here, it is gone. The bullet immediately above it already states that the upgrade is open and in proposal stage, so nothing the ruling asked to keep was lost.

  • .changeset/acme-description-drops-the-upgrade-horizon.md — new. Seed data is part of the product surface, so this PR carries a changeset rather than reaching for skip-changeset; the gate was left to decide and it wants one.

Deliberately unchanged: Acme Platform Upgrade's close_date (cel`daysFromNow(30)`), stage, probability and next_step, plus the #1660 comment above next_step — the record owns that date and is correct. Only the prose's second copy is removed. No other relative horizon in this file was swept: #1712 and #1714 own their own lines.

Type of Change

  • Bug fix (non-breaking change which fixes an issue) — seed narrative correctness.

What I measured before editing

The heaviest leg of the ruling is a fact about the neighbouring bullet, so I re-tested it first rather than taking it on trust.

Testing

Full pnpm verify chain, run in order, each exit code captured before any pipe. Green on 1e38ecff:

step exit evidence
pnpm validate 0 ✓ Validation passed (1715ms)
pnpm typecheck 0 tsc --noEmit, no output
pnpm lint 0 1 warning(s), 12 suggestion(s) — baseline, unchanged
pnpm lint:i18n-gate 0 ✓ i18n lint gate: 0 i18n/missing-* issues
pnpm hygiene 0 ✓ source hygiene clean (incl. ✓ no raw control bytes in first-party files)
pnpm hygiene:tokens 0 ✓ source token ratchet clean — this change is a net reduction
pnpm build 0 ✓ Build complete, Artifact: dist/objectstack.json
pnpm test 0 Test Files 163 passed (163) · Tests 3430 passed | 1 skipped (3431)

No new gate and no new test were added, per the ruling. The validate/lint warning set is byte-identical to the baseline.

验收备注

Noticed while working, filed nowhere and deliberately not swept:


Generated by Claude Code

The "Current state" bullet asserted the platform upgrade "closes in 30
days" while the record it describes seeds `close_date` as
`daysFromNow(30)`. The two agree only at the instant the seed loads: the
record resolves to a fixed calendar day and stops moving, the prose keeps
saying thirty for as long as that demo database lives.

This is where two earlier decisions collided. #1657 wrote the sentence
with a real horizon on purpose, replacing a "Renewal due in 45 days" line
that named no record at all. #1660 then settled the opposite for
`next_step` on the same opportunity — "a second copy is a second thing to
drift" — and never swept back over the account description.

#1660 generalises. Its reason is about copies and drift, not about which
fields a rep may edit, so nothing in it stops at `next_step`; and the ARR
bullet in this same block was already put under that rule, so leaving this
one meant one three-bullet block running two opposite rules.

`daysFromNow(30)` is correct and unchanged — the record owns the date.
What is left in the prose stays true however the upgrade is scheduled.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019YKN9TPqDSSXUaYqp2j7MZ
@vercel

vercel Bot commented Sep 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
hotcrm Ignored Ignored Sep 7, 2026 2:58pm UTC

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

metadata Declarative metadata — schema, security posture, UI surfaces

Projects

None yet

2 participants