Skip to content

Specify the generated AI context export contract #2686

Open

Description

@codeforester

Problem

The accepted Base governance design and implementation plan identify package 13a as a required deliverable. This issue translates that package into a reviewed, bounded issue/PR train; it does not authorize implementation before the issue reaches Ready.

Expected behavior

Before implementing context generation, specify how basectl export-context selects an installed AI CLI, invokes it noninteractively, summarizes canonical repository docs, writes outside the repository, cites source paths/revisions and date, and handles privacy, redaction, failures, partial output and unsupported providers. The generated context is a derived artifact, not checked into source control.

Scope and non-goals

Scope: Before implementing context generation, specify how basectl export-context selects an installed AI CLI, invokes it noninteractively, summarizes canonical repository docs, writes outside the repository, cites source paths/revisions and date, and handles privacy, redaction, failures, partial output and unsupported providers. The generated context is a derived artifact, not checked into source control.

Non-goals: Do not silently expand scope, activate unreviewed policy, mirror issue fields onto PRs, grant agents merge/release authority, or make changes outside the named affected areas. Any new product decision or materially new work gets a separate issue and decision record.

Affected areas

Impact and evidence

  1. Product intent: Implements only the accepted governance design and plan; any product-requirement change must be filed separately.
  2. Architecture and contracts: Destination is the package-specific section of the merged governance design/implementation plan plus the affected canonical contract named above.
  3. User guidance: The issue identifies likely guidance paths; the implementation PR must name updated user/FAQ/README paths or give a change-specific reason why none is affected.
  4. CLI/API and reference: The affected-area list determines whether CLI/API/reference docs change; the implementation PR must cite the exact reference path or justify no impact.
  5. Operations and safety: No privileged automation or merge authority is implied; the PR must list operational/security effects and any rollback.
  6. Validation and testing: The issue lists the planned tests; the PR must report executed validation and explain any unavailable test.
  7. Examples and downstream use: The implementation PR must identify affected examples/consumers or give evidence that this change has no downstream surface.
  8. Governance and contributor process: This package changes or preserves the contributor/governance contract as described in Scope; links must point to the canonical rules.
  9. Decision records: No new decision is accepted by this issue; any durable deviation requires a proposed decision record and explicit maintainer acceptance.
  10. Release notes: The PR must include a user-facing release-note line or a reasoned none; this issue does not pre-decide that disposition.

These are issue-stage dispositions to refine during Triage. Before Ready, every category must have its exact destination or evidence-based no-impact reason; the PR repeats the ten-category evidence for actual changes.

Open questions

  • None known. If implementation exposes an unresolved contract, return this issue to Triage and record the decision before implementation continues.

Plan

  • S1: One focused PR for this issue. Use Fixes #N only if no additional slice is needed; if the maintainer approves multiple PRs, name each S1…Sn here before the first is opened and use Part of #N.
  • Dependencies: None known.
  • Acceptance criteria:
  • Provider selection and supported installed CLI contract are explicit and user-controlled.
  • Output location is outside the repository by default and can be reviewed before use.
  • Source attribution/revision, date, privacy disclosure, redaction boundaries and failure semantics are specified.
  • No provider is invoked on untrusted repository instructions without the documented user consent and safety boundaries.
  • The contract makes clear tracked .ai-context/ remains maintained until package 13b is released and proven.
  • Validation:
  • Review command help/prototype expectations against the chosen AI CLI interfaces.
  • Threat-model repository prompt injection, secret discovery, external data transfer and partial failures.
  • Validate examples for noninteractive and unavailable-provider behavior.
  • Risks and rollback: AI CLIs and provider behavior vary; support only explicitly detected interfaces and fail closed without overwriting tracked files.
  • Decision impact: No decision is accepted merely by implementing the issue. Record the relevant accepted decision/ADR and file a superseding record if the maintainer approves a change.

Activity

  1. self-assigned this
    on Nov 10, 2026
  2. added this to the v1.11.0 milestone on Nov 11, 2026
  3. codeforester commented on Nov 11, 2026

    @codeforester
    CollaboratorAuthor

    Pre-Triage review against the accepted plan (#2664, tracker #2665)

    1. The command already exists. basectl export-context bundles the project's .ai-context/ as Markdown or zip, with --format, --output, --print and --list-files. By default it writes under BASE_CACHE_DIR (fix: keep default AI context exports outside project directories #2614). Its help, and the examples in docs/command-reference.md:262 and L1008–1010, allow --output to point into the project. The contract has to cover the transition:
    2. Open questions. "None" isn't true here. The open items are:
      • which CLIs are supported, and their non-interactive flags;
      • the consent step;
      • what is disclosed about the data sent.
    3. Overlap with the MCP docs index. feat: heading-aware chunker and SQLite FTS5 index with git-SHA provenance #2586 and feat(manifest): docs block and repo configure --ai writes the project MCP config #2590 also derive context from canonical docs with provenance. The overlap is in the #2555 crosswalk. The security: read-only MCP/index threat model, root allowlist, and untrusted-content framing #2589 threat model is a natural sibling of this one.

    Contract text. The Impact, Scope and Open questions sections are still the shared template text. The Impact section is identical in 24 of #2666–#2690, and Scope repeats Expected behavior. That's fine in Backlog. Before Ready, replace each with this issue's own dispositions.

    Claude Code (Opus 5.5), reviewing from Ramesh's account at his request. This review comes before Triage, so it is not an issue-loop round.

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

Metadata

Metadata

Assignees

Labels

documentationDocumentation improvements

Type

Projects

  • Status
    Backlog

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions