Skip to content

Document Templates

This is the complete reference for Lineup's document template schemas. For a conceptual overview of how documents flow between agents, see Ephemeral Documents.

Overview

Templates define the YAML structure that agents follow when producing output. They are located in the plugin's templates/ directory and serve as format references -- agents structure their conversation output according to these schemas, but no files are written to your project (except documentation files from the documenter agent).

TemplateAgentDocument type
templates/researcher.yamlResearcherResearch findings
templates/architect.yamlArchitectImplementation plan
templates/developer.yamlDeveloperImplementation report
templates/reviewer.yamlReviewerReview report
templates/documenter.yamlDocumenterDocumentation report
templates/teacher.yamlTeacherExplanation

Common fields

Every document includes these core fields:

FieldTypeRequiredDescription
typestringYesDocument type identifier
agentstringYesAgent that produced the document
datestringYesCreation date in YYYY-MM-DD format
topicstringYesShort topic label in kebab-case
statusstringYesDocument status (varies by type)
pipeline_stageinteger or nullYesPipeline stage number, or null for non-pipeline documents

Type values

ValueTemplateAgent
researchresearcher.yamlResearcher
planarchitect.yamlArchitect
implementationdeveloper.yamlDeveloper
reviewreviewer.yamlReviewer
documentationdocumenter.yamlDocumenter
explanationteacher.yamlTeacher

Status values

Document typeValid statuses
Researchcomplete
Plandraft, approved, superseded
Implementationcomplete
ReviewPASS, FAIL, PASS_WITH_WARNINGS
Documentationcomplete
Explanationcomplete

Pipeline stage values

ValueStage
2Research
4Plan
5Implement
6Verify
7Document
nullNot part of the main pipeline (e.g., explanations)

Conditional fields

FieldTypeApplies toDescription
plan_refstringimplementation, reviewReference to the plan document. Required for implementation and review types.

Researcher template

File: templates/researcher.yaml

Research findings produced during the Research stage.

FieldTypeDescription
what_found.key_fileslistFiles relevant to the research, with path, line range, and description
what_found.classeslistClasses found, with name, relationships, and description
what_found.functionslistFunctions found, with name, file, lines, and description
what_found.data_structureslistData structures and patterns found
how_it_works.execution_flowstringStep-by-step description of execution flow
how_it_works.data_flowstringHow data transforms through the system
how_it_works.architectural_patternslistPatterns found, with description and locations
constraints.dependencies.externallistExternal dependency names and versions
constraints.dependencies.internallistInternal module or component dependencies
constraints.limitationslistWhat the system does not handle
constraints.edge_caseslistEdge cases, with condition and behavior
gaps.unable_to_determinelistWhat could not be determined
gaps.needs_investigationlistQuestions needing further investigation, with context

Architect template

File: templates/architect.yaml

Implementation plans produced during the Plan stage.

FieldTypeDescription
summarystringOne-paragraph overview of what will be done and why
approacheslist2-3 competing approaches with strategy, pros, cons, and scope
approaches[].namestringApproach name
approaches[].strategystringHow the approach works
approaches[].proslistAdvantages
approaches[].conslistDisadvantages
approaches[].scope.files_changedintegerEstimated number of files changed
approaches[].scope.lines_changedintegerEstimated number of lines changed
recommendation.approachstringName of the recommended approach
recommendation.rationalestringWhy this approach is recommended
changeslistOrdered list of specific modifications
changes[].filestringFile path
changes[].changestringDescription of the modification
changes[].rationalestringWhy this change is needed
parallelization_strategy.batcheslistParallel execution batches
parallelization_strategy.batches[].batch_numberintegerBatch sequence number
parallelization_strategy.batches[].executionstringparallel or sequential
parallelization_strategy.batches[].changeslistChange numbers in this batch
parallelization_strategy.batches[].rationalestringWhy these changes are grouped
dependencieslistOrder constraints between changes
dependencies[].from_changeintegerChange that depends on another
dependencies[].to_changeintegerChange that must complete first
dependencies[].descriptionstringDescription of the dependency
acceptance_criterialistHow to verify the implementation
acceptance_criteria[].criterionstringWhat to check
acceptance_criteria[].verified_bystringHow to check it
riskslistPotential issues
risks[].riskstringDescription of the risk
risks[].mitigationstringHow to handle it
risks[].severitystringlow, medium, high, or critical

Developer template

File: templates/developer.yaml

Implementation reports produced during the Implement stage.

FieldTypeDescription
plan_refstringReference to the architect's plan document
changes_madelistFiles modified
changes_made[].filestringFile path
changes_made[].descriptionstringWhat was changed
changes_made[].lines_modifiedstringLine range modified
issues_encounteredlistProblems found during implementation
issues_encountered[].issuestringDescription of the problem
issues_encountered[].resolutionstringHow it was resolved
issues_encountered[].impactstringnone, minor, moderate, or significant
verification.build.commandstringBuild command run
verification.build.resultstringsuccess or failure
verification.build.outputstringBuild output summary
verification.tests.commandstringTest command run
verification.tests.resultstringsuccess or failure
verification.tests.tests_runintegerNumber of tests run
verification.tests.tests_passedintegerNumber of tests passed
verification.tests.tests_failedintegerNumber of tests failed
verification.linting.commandstringLint command run
verification.linting.resultstringsuccess or failure
verification.linting.issues_foundintegerNumber of lint issues found

Reviewer template

File: templates/reviewer.yaml

Review reports produced during the Verify stage.

FieldTypeDescription
plan_refstringReference to the architect's plan document
summarystringOne-paragraph assessment of the implementation
issueslistIssues found during review
issues[].severitystringcritical, warning, or suggestion
issues[].confidenceinteger75-100 (only issues >= 75 confidence are reported)
issues[].filestringFile path
issues[].lineintegerLine number
issues[].descriptionstringWhat is wrong and why it matters
issues[].fixstringRecommended fix
test_results.test_suite.statusstringpass or fail
test_results.test_suite.tests_runintegerNumber of tests run
test_results.test_suite.tests_passedintegerNumber of tests passed
test_results.test_suite.tests_failedintegerNumber of tests failed
test_results.coverage.availablebooleanWhether coverage data is available
test_results.coverage.percentagenumberCoverage percentage
test_results.coverage.uncovered_areaslistFile paths and line ranges not covered

Confidence scoring

The reviewer rates each issue from 0 to 100. Only issues scoring 75 or above are included in the report:

ScoreMeaning
0False positive or pre-existing issue
25Might be real, might be false positive
50Real issue but minor or unlikely in practice
75Verified real issue -- will impact functionality or violates conventions
100Confirmed critical issue, will happen frequently

Documenter template

File: templates/documenter.yaml

Documentation reports produced during the Document stage.

FieldTypeDescription
summarystringOne-paragraph overview of documentation created or updated
documentation_createdlistDocumentation files written
documentation_created[].filestringFile path
documentation_created[].typestringreadme, api, guide, inline, or changelog
documentation_created[].descriptionstringWhat the document covers
documentation_created[].actionstringcreated or updated
documentation_gapslistAreas still needing documentation
documentation_gaps[].areastringArea description
documentation_gaps[].prioritystringhigh, medium, or low
documentation_gaps[].suggestionstringWhat should be documented and where
conventions_followedlistDocumentation conventions observed and applied

Teacher template

File: templates/teacher.yaml

Explanations produced by the explain workflow.

FieldTypeDescription
learning_objectiveslistWhat the user will understand after the explanation
prerequisiteslistConcepts the user should already know
prerequisites[].conceptstringPrerequisite concept name
prerequisites[].descriptionstringBrief description of what the user should know
explanation.overviewstringHigh-level summary of the topic
explanation.sectionslistStructured explanation sections
explanation.sections[].titlestringSection heading
explanation.sections[].contentstringDetailed explanation
explanation.sections[].code_exampleslistCode snippets from the codebase
explanation.sections[].code_examples[].filestringSource file path
explanation.sections[].code_examples[].linesstringLine range
explanation.sections[].code_examples[].descriptionstringWhat the code demonstrates
explanation.sections[].key_takeawayslistKey points from the section
further_explorationlistRelated topics to explore next
further_exploration[].topicstringTopic name
further_exploration[].relevancestringWhy this might be interesting

Document lifecycle

All documents are ephemeral -- they exist in the conversation context only. The orchestrator passes them between agents as structured input. No files are written to the project directory, with the sole exception of the documenter agent, which writes documentation files as a side effect of its work (the report itself is still ephemeral).

For more on how context flows between agents, see Ephemeral Documents.