Skip to content

I3129 — An outside developer's first run is recorded as it happened, and each friction it met becomes an issue with a failing case

Write the outside-first-run protocol as a workflow (who may run it, the private consented invitation, the fixed form the tester answers, what is recorded and what never is), record five real outside runs as the testers' own answers committed as curated knowledge, give each friction an id, open one issue per friction in this milestone or in a-second-adopter-is-served, and add the case that checks the records and the friction coverage. The issue stays blocked on external until the five runs exist.

BLOCKED wave 2 · p2 · verification profile · parallel safe

Part of a-stranger-adopts-it-unaided — A stranger installs Majordomus and is stopped from a false done in ten minutes, and every outside first run teaches the tool.

Blocked. This issue cannot start until I3127, I3128, milestone:a-stranger-adopts-it-unaided are done. The status is derived from that, not declared.

Objective

Write the outside-first-run protocol as a workflow (who may run it, the private consented invitation, the fixed form the tester answers, what is recorded and what never is), record five real outside runs as the testers' own answers committed as curated knowledge, give each friction an id, open one issue per friction in this milestone or in a-second-adopter-is-served, and add the case that checks the records and the friction coverage. The issue stays blocked on external until the five runs exist.

Why

Three assessments (2026-10-08, 10-12, 10-13) asked for five real external developers with unedited first runs and no simulation. The only outside evidence today is maintainer-written field reports kept outside any repository, which no record cites. Critique: unedited content and anonymity are reconciled by committing the tester's own answers to a fixed form, redacted only in declared fields. The intent's statement sets a ten-minute bar for a person, and the 10-13 assessment (c256#2) set 3 of 5 finishing unaided. Without those fields and a case that reads them, five failed runs would satisfy the intent and, under ADR 0206, release outreach. Proposed in ADR 0206 (Public outreach begins only after a stranger has finished a first task unaided) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c193#1, chatgpt-majordomus:c241#2, chatgpt-majordomus:c256#5.

Current state

No workflow or record kind for an outside run; docs/ADOPTION_FIRST_RUN.md pins the conditions of a forensic first run (installer, throwaway HOME, fresh repository); the knowledge schema requires a verified record's provenance to resolve to a file, test, commit, issue, session, task or decision.

Desired state

.ai/repo/workflows/outside-first-run.md; one committed form per run under .ai/repo/knowledge/curated; every friction id cited by an issue or a cancellation; a case that refuses a malformed record and reports how many runs are still missing.

Scope

  • .ai/repo/workflows
  • docs/ADOPTION.md
  • .ai/repo/adrs/0206-public-outreach-begins-only-after-a-stranger-has-finished-a-firs.md
  • .ai/repo/project/intents
  • .ai/repo/project/issues
  • .ai/repo/project/milestones/a-stranger-adopts-it-unaided.yaml
  • .ai/repo/project/milestones/a-second-adopter-is-served.yaml
  • .ai/repo/knowledge/README.md
  • docs/ADOPTION_FIRST_RUN.md
  • share/schemas/majordomus/knowledge/knowledge.v1.schema.json

Out of scope

  • Recording names, employers or repository contents
  • Simulated or self-run 'outside' runs
  • Recruiting the people

Dependencies

Acceptance criteria

  • The workflow states what is recorded and what never is, and is linked from docs/ADOPTION.md
  • The workflow defines the raw artifact: the tester's own answers to a fixed form, redacted only in declared fields, committed under .ai/repo/knowledge/curated so that the record's file: provenance resolves. The form builds on the pinned conditions in docs/ADOPTION_FIRST_RUN.md
  • Every recorded friction carries an id, and the issue or cancellation that covers it cites that id
  • Each record carries the tool version, platform, reached_accepted_finish and seconds_to_accepted_finish
  • A case refuses an outside-run record with a missing required field or a forbidden field (name, employer or repository contents), and fails on any friction id that no issue or cancellation cites
  • The intent gains a criterion, settled by that case from the records' fields: at least 3 of the recorded outside runs reached the accepted finish unaided within ten minutes. c256#2 is added to the intent's sources
  • The intent's criteria outside-runs-are-recorded and friction-becomes-a-case, and the new pass-bar criterion, are re-recorded as evidence: test with that case's path in the same change as the case
  • Five outside runs are recorded before the issue is DONE; until then it is blocked on external and the case reports how many runs are still missing
  • The workflow and ADR 0206 separate a private, consented invitation of named individual testers from public outreach; only public outreach waits on the intent's verdict
  • Each outside run uses a real coding agent in the tester's own repository, which proves the provider path the scripted stage does not

Validation

  • majordomus knowledge status
  • majordomus plan validate

Evidence required

  • outside_run_recorded
  • case_outside_run_records

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

Timeline

started
—
verified
—
completed
—

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I3129.yaml. Read it back with majordomus plan show I3129.

Searches the titles and descriptions of every page this site publishes.