Repository navigation
✨🧑💻 - Dogfooding compare verified first and current SDD revisions #464
Description
Is there an existing issue or feature request for this?
- I have searched the existing issues and feature requests.
What area does this improvement affect?
None
What actions does this improvement affect?
No response
Description of the idea or improvement
Add a deterministic read-only /copilot sdd-diff command with no arguments. On an eligible issue, read the latest valid bot-owned SDD gate record, preserve the immutable first publication SHA and compare its owning SDD path with the current verified revision. Verify exact issue, owner, branch linkage, ancestry/publication and current issue digest before claiming a current comparison. Read only that allowlisted specification at immutable revisions through semantic ports. Show the two SHAs, safe document/commit/compare links, added/removed line counts and at most eight touched section titles, explicitly a structural diff rather than inferred semantic requirements. Bound files to existing SDD limits and the diff computation/output. No model, source edits, branches, approvals or lifecycle changes. Unsupported, initial-only, pending revision, stale/invalid record, removed branch and unavailable reads remain distinct honest states. In PR conversations do not infer a same-number issue; use only authoritative optional linkage or report not-applicable. Localized English/Spanish one correlated reply, replay-safe.
Current limitations or challenges
The gate preserves the first SDD commit and subsequent revisions, but a developer cannot directly inspect the bounded changes from the conversation. Live #454 already has a revised SDD, which provides a realistic fixture. A revision that is still awaiting answers must never be shown as current ready requirements.
Expected impact
A developer can see what structurally changed in the SDD and open verified immutable evidence. Include no revision, unchanged document, bounded changed sections, repeated query, forged/foreign record, wrong owner/path, absent publication, current-description changes, provider errors, excessive inputs and unsafe headings. Plan at least 24 distinct risk-derived cases, documentation, catalog evidence and executable acceptance; preserve all existing SDD-gate contracts and budgets.
Alternatives considered
No response
Version of copilot
master
Additional context or comments
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
Activity
vypbot commentedon Oct 11, 2026
SDD work status
Current status: The SDD is published; implementation can begin after branch verification.
SDD:
specs/pre-branch-sdd-diff.md· Branch:feature/464-dogfooding-compare-verified-first-and-current-sdd-revisions· First commit:82bc9be5eae5170a669313a467cb71919eaff5a1Links: SDD · Branch · Commit
[-]Dogfooding compare verified first and current SDD revisions[/-][+]✨ - Dogfooding compare verified first and current SDD revisions[/+]vypbot commentedon Oct 11, 2026
Hi! I’m @vypbot, the Copilot assistant for this repository.
I can answer questions, explain the codebase, propose implementation and test plans, review issues and pull requests for potential bugs or security problems, and help authorized maintainers apply changes.
Try
/copilot helpto see the available commands, or mention @vypbot with your question.efraespada commentedon Oct 11, 2026
SDD Q1: Any GitHub participant allowed to comment may invoke this no-model read-only query consistently with help/status. Applicability follows the existing admitted issue-start policy: feature or an admitted branch-bearing contract-change issue whose SDD gate applies. Unsupported/help/exempt targets report not-applicable without a model, branch or label change. An eligible issue before its first publication reports no-published-SDD, not invalid or ready.
SDD Q2: Bind repository and exact conversation to the authoritative event. Use the existing admission/profile policy, the bot-owned valid gate record, then exact linked-branch readiness proof and immutable publication verification. No label-only ownership or inferred branch. On a PR, use only authoritative explicit linkage to exactly one eligible issue; verified zero is not-applicable, multiple/disagreeing sources are ambiguous/unavailable. Never use equal issue/PR numbers, head-name scans or user-supplied paths. Conflicting ownership/linkage must stop comparison.
SDD Q3: Reuse readSddGateRecord schema v1, exact issue number, latest configured-bot-owned record and current catalogue ownership. Preserve commitSha/baseSha as the immutable first publication; revisionSha/revisionBaseSha identify the current published revision. Verify both publications and ancestry/path on the exact linked remote branch. Published with no revision is initial-only. Awaiting-answer with retained publication is pending-revision and cannot certify current requirements. Malformed/foreign/unknown-version records are invalid or unavailable; a valid but absent/unverified publication is not a successful comparison. No schema weakening or new record store.
SDD Q4: Compute the same issue digest as the gate from the current normalized title, visible human body, admitted kind, profile and original recorded base. A mismatch reports pending-revision/stale with the SDD question-card link and no current structural counts or changed-section claims. Historical first/current document links may remain explicitly historical after publication verification, but never be labelled current-ready. Fence title/body, record and branch after collection so a concurrent edit also invalidates a current comparison.
SDD Q5: At most 70000 UTF-16 characters and 280000 UTF-8 bytes per document, 2000 lines per document, at most 2000000 line-comparison steps and no unbounded quadratic allocation. Output at most eight changed section titles, each at most 120 characters, with an explicit omitted-section count, and total reply at most 6000 characters. These are fixed safety limits. An exceeded input/computation limit means comparison-unavailable/bounded, with safe validated revision links and a specific explanation; never truncate documents and report guessed exact counts. Output omission may omit only secondary section titles, with disclosure.
SDD Q6: Reuse/narrow existing PreBranchSddWorkspacePort readSdd, verifyPublication and isAncestor plus exact BoundLinkedBranchReadinessPort and bound issue comment/title/description/catalog readers. Separate reading from publication so the command has no writer capability. Read only the catalogued safe owning spec path at the two verified immutable SHAs, never arbitrary refs/paths from command arguments. Removed linkage/publication reports unavailable or missing-publication distinctly. Construct document/commit/compare URLs through policy-owned repository identity and validated SHA/path values, never body links. No token or local setup credential expansion.
SDD Q7: Use the existing repository/exact target/source-comment correlation and reconciler; replay reuses/updates one reply, new source comment creates its own. Use effective issue locale, or PR locale on its surface; complete English/Spanish catalogs with atomic English fallback for unsupported/invalid catalogs. Escape and bound section titles, neutralize mentions/Markdown/control text and do not echo file contents or raw provider errors. SHA/count fields are validated structural data. Preserve lifecycle/waiting labels and publish no extra status cards or notifications.
SDD Q8: Extend existing deterministic command parser/help and comment orchestration, adding pure comparison/presentation policies, a read-only SDD comparison workflow and narrow semantic read port projections in composition/adapters. Keep the existing gate and its tests/budgets unchanged except documented shared read helpers where justified. Document in docs/issues/comment-commands.mdx and docs/issues/pre-branch-sdds.mdx; update this capability's catalogue evidence and the owning SDD or an approved bounded companion before branch creation. Minimum 24 distinct cases: eligibility/target identity 4; record/ownership/publication trust 5; digest and revision races 4; diff/count/bounded-work behavior 5; localization/sanitization/replay/no-write contracts 6. Include #454's real first/revised SDD as human UX evidence; all existing coverage/spec/doc/workflow checks remain mandatory.
101 remaining items
vypbot commentedon Oct 13, 2026
Implementation plan
Acceptance: A no-argument `/copilot sdd-diff` produces one localized, replay-safe response that reports either a verified bounded structural comparison with immutable evidence links or the correct distinct non-current state; at least 24 risk-derived cases and executable acceptance pass, documentation and catalog evidence validate, and existing SDD-gate contracts and budgets remain intact.
Need something else? Mention the bot with a question or use
/copilot help.vypbot commentedon Oct 13, 2026
Branch synchronization needs attention. Open the current status.