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.
BLOKOVÁNO wave 2 · p2 · verification profile · parallel safe
Blocked. This issue cannot start until I3127, I3128, milestone:a-stranger-adopts-it-unaided are done. The status is derived from that, not declared.
Cíl
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.
Proč
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.
Aktuální stav
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.
Cílový stav
.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.
Rozsah
- .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
Mimo rozsah
- Recording names, employers or repository contents
- Simulated or self-run 'outside' runs
- Recruiting the people
Závislosti
- I3127BLOCKED A clean installation reaches its first refused finish in a foreign repository, and the time and the manual steps are recorded
- I3128BLOCKED init ends with what it found in the repository it adopted, each finding naming its file
Kritéria přijetí
- 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
Validace
- majordomus knowledge status
- majordomus plan validate
Požadované důkazy
- outside_run_recorded
- case_outside_run_records
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Canonical record: .ai/repo/project/issues/I3129.yaml. Read it back with majordomus plan show I3129.