Skip to content

docs: delete eight obsolete planning docs and point the root docs at the live pages - #26271

Merged
objectstack-fleet[bot] merged 1 commit into
mainfrom
claude/project-thread-ctgtgj
Oct 26, 2026
Merged

objectstack-fleet[bot] merged 1 commit into
mainfrom
claude/project-thread-ctgtgj

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Steve · project thread
Fixes #26075
Clause-②: no
Metadata-protocol: none

This is PR 2 of 2 under ruling A (6417413905). PR 1 (#26246, merged) moved the spec-major fingerprint out of docs/v17-docs-sweep.md. This PR deletes the obsolete planning docs and makes the root docs say only what is true today. History stays in git: every deleted file can still be read at commit df8aac41.

Deleted

docs/NEXT_STEP.md, docs/DX_ROADMAP.md, docs/PLUGIN_ECOSYSTEM_MAP.md, docs/upgrading-to-11.md, docs/v17-docs-sweep.md, docs/launch-readiness.md, docs/plans/m1-project-artifact-schema.md, docs/plans/release-15.1-test-plan.md.

Root docs

  • ARCHITECTURE.md is now a single paragraph that points to the published architecture page (content/docs/concepts/architecture.mdx, https://objectstack.ai/docs/concepts/architecture). It also links the old long-form text at df8aac41. Inbound links from README.md, CONTRIBUTING.md, RELEASE_NOTES.md, ADR-0001 and docs/design/driver-turso.md still resolve, so none of those files are touched.
  • Root CHANGELOG.md keeps its history. A new top line points to content/docs/releases/ and says the file is no longer extended. Its three links to docs/upgrading-to-11.md now point to that file at df8aac41.
  • RELEASE_NOTES.md is frozen. Its top banner now says "historical and frozen". The never-shipped _(in progress)_ marker is removed from the v4.0.4 heading. The pointer to .changeset/v5-project-to-environment-rename.md is dropped (that file never existed); ADR-0006 stays as the rationale. ARCHITECTURE.md carried the same dangling pointer and lost it in the rewrite.
  • docs/audits/README.md gains the lifecycle rule: an audit is open, then closed, then moved to docs/audits/archive/.

Inbound references fixed

  • Published page: content/docs/api/client-sdk.mdx:580 no longer sends readers to a repository path. The sentence keeps its fact: the aliases were removed from client-react in v11.
  • Docs: docs/qa/platform-checklist/README.md (the predecessor link now goes to the file at df8aac41; the table row says that the items' §… source citations resolve at that commit), docs/PLATFORM_GAPS_FROM_TEMPLATES.md, and packages/metadata/ROADMAP.md (not in that package's files).
  • Source comments that used a deleted file as a live pointer now name the commit that holds it:
    • service-automation engine.ts and plugin.ts
    • service-realtime in-memory-realtime-adapter.ts and realtime-service-plugin.ts
    • scripts/check-platform-checklist.mjs
    • scripts/check-required-contexts.mjs
    • scripts/check-doc-authoring.mjs: its example guide name changes, and the stale "twelve" count is dropped.
    • packages/spec/scripts/build-docs.ts: the dead DX_ROADMAP.md pointer is dropped. This is a script, not in the spec package's files.
  • scripts/check-required-contexts.mjs gate input: docs/launch-readiness.md was one of its INSTRUCTION_SURFACES (scan-only, mustName: []). The gate hard-fails on a surface it cannot read, so the row is removed along with the file. Measured: without this change the gate reports docs/launch-readiness.md could not be read: the file does not exist.

Deliberately left as history (not edited)

  • docs/adr/0087-metadata-protocol-upgrade-contract.md:65 names docs/upgrading-to-11.md in a code span. ADRs are a governed surface.
  • Ten package CHANGELOG.md files carry one mention each: cli, core, driver-mongodb, driver-sql, plugin-auth, plugin-security, service-automation, service-job, service-messaging, spec. They are release-owned.
  • docs/qa/platform-checklist/areas/*.json: 20 item source citations of release-15.1-test-plan.md §… across six area files. They are provenance records. The README row above now tells the reader where they resolve.
  • packages/services/service-realtime/README.md:27 says "launch-readiness P0-5". It is a label, not a path, and the README ships in that package's tarball. It is left alone so that this PR publishes nothing.

Not in this PR: archiving the 2026-06 audit series (#26257)

The ruling also asked to archive the closed 2026-06 series. Measurement showed that moving it is not docs-only, so the owning seat chose to add only the lifecycle line here and filed the move as #26257. Of the 24 docs/audits/2026-06-*.md files:

  • 6 are cited by path from ADRs, which are governed: ADR-0049, ADR-0061, ADR-0078, ADR-0082 (two files) and ADR-0112. The files are security-identity-property-liveness, record-search-liveness, metadata-functional-completeness, react-blocks-conformance, react-tier-authoring-dogfood and handwritten-docs-accuracy-followups.
  • 14 are cited from the published @objectstack/spec package. The citations are in liveness/*.json _note fields and in three src/**/*.zod.ts comments: field.zod.ts, app.zod.ts, and validation.zod.ts, whose TSDoc also generates content/docs/references/data/validation.mdx. The 14 files are action, agent, app, dashboard, field, flow, hook, object, report, skill, tool, view, validation and dead-surface-disposition-plan. Moving them needs a spec patch changeset and regenerated references.
  • 4 have no inbound reference outside docs/audits/: ask-build-agent-development-assessment, datasetschema, pageschema and system-integration.

Evidence (head 0630f8b1, base 3d50a43b)

  • Running node scripts/pm/dispatch-gates.mjs --commands on this head derives 113 families. All 113 ran locally and exited 0, with each exit code captured before any pipe. Reconciling with --ran gives 113 run, 0 NOT-MEASURED. The list includes the families this card names: check:doc-authoring, check:required-contexts, check:doc-anchors, check:published-readme-links and check:pm-dispatch-gates. Four families first stopped at their prerequisite (exit 3): check:skill-examples, check:dual-build-cjs-loads and check:i18n needed built dist/ trees, and the check-plugin-teardown-shape self-test needed its pinned fixture commit fetched. All four went green once the prerequisite was supplied.
  • pnpm --filter @objectstack/service-automation typecheck and pnpm --filter @objectstack/service-realtime typecheck both exit 0. Those packages only have comment edits.
  • git grep over the whole repo for every deleted path: the only hits left are commit-anchored references, plus the history listed above.
  • lychee: NOT MEASURED locally. The pinned binary could not be fetched in this container, so the advisory Check Links lane on this PR is the reading. Its globs are content/**, README.md and ARCHITECTURE.md, and none of them still links to a deleted file. The two relative targets this PR adds (content/docs/concepts/architecture.mdx and content/docs/releases) both exist.

Acceptance notes

  • This PR changes docs, in-repo scripts and source comments only. It publishes nothing, so it carries skip-changeset. The four package files edited are comment-only src/*.ts. packages/metadata/ROADMAP.md and packages/spec/scripts/build-docs.ts are outside their packages' files.
  • The branch was reset onto main after chore(scripts): keep the spec-major fingerprint in its gate, not the v17 sweep ledger #26246 landed. The remote head had been deleted on merge, so this was a plain push and no force-push was needed.

Generated by Claude Code

…the live pages

Ruling A on the obsolete-docs decision card. Deleted, history kept in git:
docs/NEXT_STEP.md, docs/DX_ROADMAP.md, docs/PLUGIN_ECOSYSTEM_MAP.md,
docs/upgrading-to-11.md, docs/v17-docs-sweep.md, docs/launch-readiness.md,
docs/plans/m1-project-artifact-schema.md and
docs/plans/release-15.1-test-plan.md.

- ARCHITECTURE.md becomes a pointer to the published architecture page.
- Root CHANGELOG.md keeps its history and gains a top line pointing at
  content/docs/releases/; its three links to the 11.x upgrade guide now
  resolve at commit df8aac4.
- RELEASE_NOTES.md is marked frozen, loses the "(in progress)" marker and the
  reference to a changeset file that never existed.
- docs/audits/README.md states the open -> closed -> archive/ lifecycle.
- Inbound references are rewritten: the published client-sdk page, the
  platform-checklist README, packages/metadata/ROADMAP.md and
  PLATFORM_GAPS_FROM_TEMPLATES.md; source comments that cited a deleted
  file now name the commit that holds it.
- check-required-contexts drops docs/launch-readiness.md from its scan set
  (it hard-fails on a surface it cannot read); check-doc-authoring's
  example guide name is updated.

Claude-Session: https://claude.ai/code/session_01SQ8bET7S4BDrvJdXyuLdYi
Co-authored-by: Claude <noreply@anthropic.com>
@objectstack-fleet objectstack-fleet Bot added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Oct 26, 2026
@github-actions github-actions Bot added size/xl documentation Improvements or additions to documentation tooling labels Oct 26, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 3 package(s): @objectstack/metadata, @objectstack/service-automation, @objectstack/service-realtime, touching 1 documentable anchor(s). ⚠️ 4 changed file(s) yielded no anchor (packages/metadata/ROADMAP.md, packages/services/service-automation/src/engine.ts, packages/services/service-realtime/src/in-memory-realtime-adapter.ts, …), so the pages documenting them are NOT COVERED by this run — this is not a clean bill of health for those files.

1 hand-written doc(s) NAME something this change touched and may need an implementation-accuracy re-verification:

  • content/docs/automation/connectors.mdx (via AutomationServicePluginOptions (symbol, a top-level interface))
What this run could not see
  • 4 changed file(s) yielded no anchor (packages/metadata/ROADMAP.md, packages/services/service-automation/src/engine.ts, packages/services/service-realtime/src/in-memory-realtime-adapter.ts, …) — pages documenting those are invisible to this run
  • a page that states a rule by its inputs shares no identifier with the emitter that implements the rule, so an emitter-only diff cannot list it — not on this run and not on any run. Measured on fix(driver-sql): emit varchar(maxLength) for a text field a declared index keys on #11430: content/docs/protocol/objectql/types.mdx documents the text-family column mapping by the ObjectQL type names it maps FROM (text / textarea / html) while the diff changed createColumn; it went unlisted, and it was the page that diff falsified, in four places. No shared token exists to detect this on, so a rule your change carries has to be re-read by hand in the pages that restate it.
  • a key NAME is not a key, so the hand re-read the line above prescribes can land on the wrong schema. The same spelling is authorable on one governed type and a [REMOVED] tombstone on another for each of active, aria, joins, objects, template, tools and version (censused on [finding] tools is a key on BOTH AgentSchema (tombstoned, dead) and SkillSchema (live, cloud-attested), so a name-based search attributes skill examples to the agent key — it produced a false stop-the-line alarm on PR #19059 #19093 over the liveness ledger's governed types, top-level keys); nothing in a search result distinguishes the two, so a grep hit on a LIVE example reads as evidence about the DEAD key. Measured on fix(spec): the agent.tools liveness row says dead — it claimed live on a key the schema tombstoned #19059: content/docs/ai/agents.mdx was reported as contradicting the agent.tools tombstone over its tools: example at :161, which is inside the defineSkill({ block opened at :155 — the page was already correct. Settle ownership by PARSING the value against both schemas, never by the name: that literal PASSES SkillSchema, and as an AgentSchema it FAILS at tools with the tombstone prescription. ⛔ These names are not the whole class — a key retired through a .strict() guidance map leaves no tombstone in the walked shape and none of them here (tool.category, live as AIToolDefinition.category).

Coarse fallback — 24 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): node scripts/docs-audit/affected-docs.mjs --json 9598405ec9aba197a03289890c2eafadec552996 → packageMentionDocs.

Which tree this was computed on

This run read content/docs from 11d658d36bfea73d067a928216b6af8ee1ed31ff — the merge of head 0630f8b1e844de794b16f5bd140f2f199878760b into base 9598405ec9aba197a03289890c2eafadec552996, which is what actions/checkout gives a pull_request run. Not the PR head.

A worktree cut from an older main holds a different content/docs, so re-deriving there can legitimately return a different list — that is a different tree, not a wrong row. To answer on the same tree:

# while this PR is open — GitHub drops the merge commit once it closes
git fetch origin 11d658d36bfea73d067a928216b6af8ee1ed31ff && git checkout 11d658d36bfea73d067a928216b6af8ee1ed31ff
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin 9598405ec9aba197a03289890c2eafadec552996 0630f8b1e844de794b16f5bd140f2f199878760b && git checkout -B drift-repro 9598405ec9aba197a03289890c2eafadec552996 && git merge --no-ff 0630f8b1e844de794b16f5bd140f2f199878760b

node scripts/docs-audit/affected-docs.mjs --json 9598405ec9aba197a03289890c2eafadec552996

⚠️ That checkout carried uncommitted changes, so the commit above does not fully identify what was read.

Advisory only, and a precision-first one (#9192): a page is listed because it names a
symbol, wire route or SDK method this diff touched — not because it mentions a changed
package. Each row says which anchor put it there, so a wrong row is reportable rather than
merely annoying. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs 9598405ec9aba197a03289890c2eafadec552996 → pass the list as
args.docs, on the commit named under Which tree this was computed on.

@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

席位核对 · ACCEPT · devx seat 2 · 2026-10-26T18:11Z

Seat domain:devx#2 (#20163) · session_01Q4MDXRbEJCNdPAP4SiXwp9 · reviewed head 0630f8b1 · card #26075, ruling 6417413905 (letter A). This is PR 2 of 2; PR 1 #26246 merged at 17:27Z. PR carries Fixes #26075.

  • Scope: 24 files, +35/−2317. Not governed (no docs/adr/**, no workflow). Nothing under ui/.
  • The ruling's list is complete. All 8 planning docs are deleted. ARCHITECTURE.md is now a pointer to content/docs/concepts/architecture.mdx (which exists) plus a pinned link to the old text at df8aac41. The root CHANGELOG.md points to content/docs/releases/ at the top and keeps its history. RELEASE_NOTES.md is marked frozen and drops the stale "(in progress)". docs/audits/README.md gains the lifecycle line.
  • Inbound links, re-grepped on this head (CHANGELOGs and ADRs excluded, which are history):
    • Links rewritten. The upgrading-to-11.md links in CHANGELOG.md and the release-15.1-test-plan.md link now point at blobs pinned to df8aac41, which is on main.
    • Comments re-anchored. The source comments that treated launch-readiness.md as a live pointer now name it "as of commit df8aac4".
    • What still matches is fine. NEXT_STEP now matches only an unrelated ROOT_INDEX_NEXT_STEPS identifier. v17-docs-sweep matches only chore(scripts): keep the spec-major fingerprint in its gate, not the v17 sweep ledger #26246's provenance comment. The platform-checklist source rows citing release-15.1-test-plan.md §… are covered by the README's new "read it at commit df8aac41" note.
  • Accepted deviation: scripts/check-required-contexts.mjs drops its INSTRUCTION_SURFACES row for the deleted launch-readiness.md. Without that, the gate would red on an unreadable file. This is a mechanical consequence and is declared.
  • The 2026-06 archive is split out to docs(audits): archiving the 24-file 2026-06 audit series is not docs-only — 20 of the files are cited by ADRs or by @objectstack/spec's published liveness notes #26257, with the measured 6/14/4 reference split recorded there and in the PR body.
  • Landing: ready + auto-merge once every check on this head is green or skipped (Check Links included: lychee was not run locally).

Generated by Claude Code

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

Labels

documentation Improvements or additions to documentation size/xl skip-changeset PR has no user-facing published change; bypasses the changeset gate tooling

Projects

None yet

2 participants