Skip to content

✨ [feature] Connect issue authoring and AGENTS guidance to the canonical title contract #98

Closed

Description

@szmyty

Summary

Connect Aether's existing GitHub issue-authoring workflow to the canonical organization issue-title contract and Egolint formatter/validator. A fresh agent should discover the same rules through explicit repository-local guidance, then prepare a conforming title without requiring the user to repeat the convention in every chat.

Parent: #67 — repository-default skill bundle and generated AGENTS guidance.
Organization roadmap: egohygiene/.github#24
Contract checkpoint: egohygiene/.github#44
Consumer checkpoint: egohygiene/egolint#78

Verified starting point and dependencies

Inspected Aether main at 1072a0fafe145f919b3f83bbbc6daee2cb946030 on 2026-10-03 UTC. The canonical github-issue-authoring skill, checklist, template, agent, and generated distributions already exist; extend those surfaces. No root CONTINUITY.md exists at this revision.

Recheck live merge states and exact revisions before starting. Dependent draft work can use candidate pins; reviewed adoption requires deliberately selecting the accepted source and consumer revisions. A merged implementation alone does not change its embedded candidate status.

Scope

  • Update library/organization/skills/authoring/github-issue-authoring/SKILL.md, its focused checklist/template/evaluations, and the existing github-issue-creator agent as needed.
  • Consume one immutable contract selection with source identity, version, authority, and digests. Reference or project its mapping; do not create an independently maintained emoji/type table.
  • Prepare <emoji> [<type>] <subject> using one canonical type:* label and an explicit reviewed subject. Preserve case, wording, tracking IDs, and independent labels.
  • Compose the existing Egolint issue-title format and issue-title validate interfaces when available. Missing tools, source access, labels, unsupported types, and conflicting classifications remain explicit limitations; never silently guess or claim validation ran.
  • Provide a small discoverable instruction/module using Aether's existing projection conventions. An explicit local AGENTS.md pointer should lead to the selected contract and task-relevant authoring guidance. Preserve local content, progressive loading, and supported local extensions.
  • Regenerate affected catalog/distribution/provider projections from canonical source and record their lifecycle and compatibility. Do not make the entire Publish a repository-default skill bundle and generated AGENTS guidance #67 bundle a prerequisite for this focused checkpoint.

Validation and acceptance

  • The existing skill, template, agent, and applicable projections resolve the same exact contract selection.
  • A synthetic fresh-session example starts from local AGENTS.md, discovers the rules, selects an explicit primary type and subject, and produces Egolint-validated title evidence.
  • Known/unknown/missing/conflicting type labels, unavailable tools or source access, stale pins, and missing provider labels have honest evaluated outcomes.
  • Checkpoint IDs and reviewed subject text survive authoring; legacy/duplicate prefixes are never stripped without review.
  • Existing local instructions survive projection/update, and repeat generation produces no drift.
  • Focused deterministic evaluations and generated-output checks are recorded with exact results or explicit deferred gates. Do not imply a synthetic fixture proves a live agent host loaded the instructions.
  • One bounded draft PR records pins, checks, limitations, and the next Relay pilot handoff.

Boundaries and handoff

Aether owns portable authoring/discovery guidance; the organization contract owns the title convention; Egolint owns deterministic conformance; Relay owns provider execution and reconciliation. Instructions grant no new write or merge authority.

Keep broad bundle rollout, provider credentials, label provisioning, GitHub template/event enforcement, historical issue migration, and fleet installation outside this checkpoint. A future Relay pilot owns preview/apply, concurrent-edit checks, receipts, rollback, and the no-op repeat before the organization sweep.

This is a link-based checkpoint under #67; native sub-issue attachment is unavailable through the current connector. Intended primary classification is type:feature; provider label availability is unverified, so no unverified label is provisioned or claimed here.

Implemented candidate — 2026-10-03 UTC

Draft PR: #99
Candidate: a728c3cc73bf70de2c0a82ca4fb2da5b8113fab4 on codex/issue-title-authoring-98.

The existing authoring skill/agent, local discovery, pinned source bundle, managed projections, generated catalogs, and synthetic Egolint consumer checks are implemented. A fresh-context read-only exercise discovered the selected policy and returned the expected title while explicitly reporting absent executor and provider evidence.

Validation: all 11 issue-title tests pass, including 18 upstream cases and two reviewed migrations. The final repository suite ran 188 tests: 187 passed; the existing consumer-installation readiness test errored because gh is absent. Catalog, schema, distribution, continuity structure, and whitespace checks passed; the preserved staging-hash warning remains. Full-suite success and live provider conformance are not claimed.

PR #99 and both dependency PRs remain open drafts. Contract and Egolint source selections remain candidate; the implementation does not promote authority automatically. Issue stays open until review/merge.

Resume from PR #99 and CONTINUITY.md. Next: resolve dependency reviews and deliberately select accepted pins, then prepare the separate Relay preview/apply pilot with concurrent-edit checks, receipts, rollback, and a no-op repeat. Provider label availability remains unverified; no labels were provisioned by this checkpoint.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions