79 / 90

Day 79: Bounded Requirements, Context Packs & Permission Budgets

Turn an engineering goal into a bounded requirement with executable acceptance criteria, assemble the minimal context pack, and set permission and budget boundaries before the agent runs.

Self-Directed Learning & Python 480 active minutes (8 hours)
01 120 min

Bounded Requirement Authoring and Executable Acceptance Criteria

Agent-Assisted Engineering Check

Prerequisites

Days 73-78 agent loops, tool protocols, state and execution limits; the Ticket 22 bounded agent project (projects/agent_learning).

Learning Objective

Convert an engineering goal into a bounded requirement with explicit acceptance criteria, scope boundaries, and non-goals that an agent can execute and a reviewer can independently verify.

Instructions

1. Choose a bounded change inside the disposable fixture: extend projects/agent_learning (Ticket 22) so write_report also emits a per-note word count, or an equivalently small diff inside projects/text_tools.
2. Write the requirement as intent + constraints + acceptance criteria. Every criterion must be machine-checkable: 'GIVEN the summarize-notes fixture WHEN evaluate runs THEN /tmp/agent-run.json contains report.word_counts with one entry per note'.
3. Declare scope boundaries: the exact files the agent may read and write, forbidden actions (no pushes, no dependency changes, no network access), and explicit non-goals (no refactoring outside the target module).
4. Keep the change reviewable: target under 60 changed lines and a single atomic commit.

Practice & Prediction Log

Write requirement.md containing: one intent paragraph, three numbered acceptance criteria in Given/When/Then form, the allowed file list, the forbidden action list, and two non-goals. Self-check: every criterion must be executable as a command or an assertion.

Independent Mastery Criterion

Produce a bounded requirement whose acceptance criteria a third party can execute without asking you anything.

Authoritative Source Resources & Provenance

linking Open Access / CC BY 4.0

SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering

Author: John Yang, Carlos E. Jimenez, Alexander Wettig, Kilian Lieret, Shunyu Yao, Karthik Narasimhan, Ofir Press | Original Source Link ↗

Relevant Section / Range: Section 2 The Agent-Computer Interface and Section 3 SWE-agent: Designing an ACI for Software Engineering

Verified Version & Date: NeurIPS 2024 / arXiv:2405.15793v2 (Verified: 2026-10-30)

Selection Rationale:

Primary literature on agent-computer interfaces showing that bounded tool commands, trajectory inspection, and environment constraints determine whether an agent can carry an engineering task to verifiable completion.

Source Prerequisites:

Agent loops, tool protocols, and basic software engineering workflow vocabulary.

Safe Fallback (Offline Resilience):

The permission/budget control profile, tool contract schema, and trace audit procedure are fully implemented in the local bounded agent fixture (projects/agent_learning).

Compared Candidate Sources & Selection Analysis (2)

Broader generalist agent platform; SWE-agent isolates the agent-computer interface design principles most relevant to bounded task delivery.

AutoCodeRover: Autonomous Program Improvement ↗ compared_alternative [Open Access / CC BY 4.0]

Focuses on autonomous program repair via code search; SWE-agent better matches the curriculum's bounded-tool and human-verification emphasis.

linking Open Access / CC BY 4.0

SWE-bench: Can Language Models Resolve Real-World GitHub Issues?

Author: Carlos E. Jimenez, John Yang, Alexander Wettig, Shunyu Yao, Kexin Pei, Ofir Press, Karthik R. Narasimhan | Original Source Link ↗

Relevant Section / Range: Section 2.1 Benchmark Construction and Section 2.2 Task Formulation (FAIL_TO_PASS tests)

Verified Version & Date: ICLR 2024 / arXiv:2310.06770v3 (Verified: 2026-10-30)

Selection Rationale:

Defines the standard pattern this block teaches: a bounded issue statement paired with executable fail-to-pass tests as verifiable acceptance criteria for agent-produced changes.

Source Prerequisites:

Unit testing, issue descriptions, and repository evaluation vocabulary.

Safe Fallback (Offline Resilience):

The acceptance-criteria pattern is exercised locally through the Ticket 22 fixture scorer and the Ticket 24 regression exercise without external datasets.

Compared Candidate Sources & Selection Analysis (2)
HumanEval: Evaluating Large Language Models Trained on Code ↗ compared_alternative [arXiv non-exclusive license / Open Access]

Function-level synthesis benchmark; SWE-bench models the repository-scoped issue-to-diff workflow that this delivery block rehearses.

Multi-SWE-bench: A Multilingual Benchmark for Issue Resolving ↗ compared_alternative [Open Access / CC BY 4.0]

Extends issue resolution to multiple programming languages; the original Python-centric SWE-bench provides a cleaner pedagogical anchor.

02 120 min

Independent Task Decomposition and Context Pack Assembly

Independent Mastery Check (no AI assistance).

Prerequisites

Day 79 Activity 1.

Learning Objective

Without AI assistance, decompose the bounded requirement into an ordered work plan and assemble the minimal context pack the agent needs: file list, interface contracts, environment facts, and budgets.

Instructions

1. List every file the task touches and why; mark each read-only or writable.
2. Write interface contracts for the changed functions: signature, return schema, and error behavior.
3. Record environment facts: Python version, the exact run command, fixture location, and the disposable-workspace rule.
4. Estimate the execution budget from the Ticket 22 control profile: max_steps=6, max_retries=2, tool_payload_bytes=4096.
5. Do this activity with the agent off: the skill under test is your own specification ability, not the agent's.

Practice & Prediction Log

Produce context_pack.json with keys files[], contracts[], environment{}, budgets{} for your Day 79 requirement. Prove it parses: python3 -c 'import json;json.load(open("context_pack.json"))'.

Independent Mastery Criterion

Assemble a minimal, parseable context pack from memory and documentation alone — this is an independent engineering skill, not agent-assisted performance.

Authoritative Source Resources & Provenance

linking Open Access / CC BY 4.0

SWE-bench: Can Language Models Resolve Real-World GitHub Issues?

Author: Carlos E. Jimenez, John Yang, Alexander Wettig, Shunyu Yao, Kexin Pei, Ofir Press, Karthik R. Narasimhan | Original Source Link ↗

Relevant Section / Range: Section 2.1 Benchmark Construction and Section 2.2 Task Formulation (FAIL_TO_PASS tests)

Verified Version & Date: ICLR 2024 / arXiv:2310.06770v3 (Verified: 2026-10-30)

Selection Rationale:

Defines the standard pattern this block teaches: a bounded issue statement paired with executable fail-to-pass tests as verifiable acceptance criteria for agent-produced changes.

Source Prerequisites:

Unit testing, issue descriptions, and repository evaluation vocabulary.

Safe Fallback (Offline Resilience):

The acceptance-criteria pattern is exercised locally through the Ticket 22 fixture scorer and the Ticket 24 regression exercise without external datasets.

Compared Candidate Sources & Selection Analysis (2)
HumanEval: Evaluating Large Language Models Trained on Code ↗ compared_alternative [arXiv non-exclusive license / Open Access]

Function-level synthesis benchmark; SWE-bench models the repository-scoped issue-to-diff workflow that this delivery block rehearses.

Multi-SWE-bench: A Multilingual Benchmark for Issue Resolving ↗ compared_alternative [Open Access / CC BY 4.0]

Extends issue resolution to multiple programming languages; the original Python-centric SWE-bench provides a cleaner pedagogical anchor.

linking CC BY-NC-SA 3.0 noncommercial share-alike

Pro Git, Second Edition

Author: Scott Chacon and Ben Straub | Original Source Link ↗

Relevant Section / Range: Chapter 3 (Git Branching), Section 7.7 (Reset Demystified), Sections 5.2/6.2 (Contributing to a Project)

Verified Version & Date: Second edition (Apress, 2014) (Verified: 2026-10-30)

Selection Rationale:

Freely licensed reference for branching, merging, conflict resolution, and safe recovery vocabulary used through the delivery workflow.

Source Prerequisites:

Basic git status/log/diff vocabulary from earlier study days

Safe Fallback (Offline Resilience):

git help <command> and the Git manual pages ship with Git and cover the same commands offline; every required workflow is stated locally in the lesson.

Compared Candidate Sources & Selection Analysis (2)
GitHub Skills interactive courses ↗ compared_alternative [MIT (varies by course)]

Interactive but requires a GitHub account and an external service; disposable local repositories keep the exercise self-contained.

Atlassian Git Tutorials ↗ compared_alternative [All Rights Reserved]

Vendor-owned prose with no permissive license; Pro Git covers the same ground under CC BY-NC-SA.

03 120 min

Permission Boundaries, Execution Budgets and the Bounded Agent Run

Agent-Assisted Engineering Check

Prerequisites

Day 79 Activity 2.

Learning Objective

Declare the agent's permission policy and resource budgets explicitly, then run the bounded agent on the prepared context and record the complete action/observation trace.

Instructions

1. Write the permission grant before running anything: allowed tools (read/write inside the disposable workspace only) and forbidden actions (git push, network, payments, deleting outside the disposable directory). Pushes, real deployment, paid execution, and destructive commands always require separate authorization.
2. Set the budgets: max_steps=6, max_retries=2, tool_payload_bytes=4096 (the Ticket 22 control profile).
3. Run the reference workflow: python -m projects.agent_learning.cli evaluate --fixture summarize-notes --output /tmp/agent-run.json
4. Exercise a fault path through the public API: run_task with DeterministicModelAdapter(fault="invalid_arguments") and confirm the observation is structured ({'ok': False, 'error': 'invalid_arguments'}) and the run terminates inside budget instead of looping.

Practice & Prediction Log

Capture the run artifact and annotate every action event: which budget it consumed, which permission class it used, and whether it stayed inside the declared file scope. Confirm result.steps <= 6 and result.retries <= 2.

Independent Mastery Criterion

Direct an agent under explicit permissions and budgets and produce a complete, auditable execution trace.

Authoritative Source Resources & Provenance

linking Open Access / CC BY 4.0

SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering

Author: John Yang, Carlos E. Jimenez, Alexander Wettig, Kilian Lieret, Shunyu Yao, Karthik Narasimhan, Ofir Press | Original Source Link ↗

Relevant Section / Range: Section 2 The Agent-Computer Interface and Section 3 SWE-agent: Designing an ACI for Software Engineering

Verified Version & Date: NeurIPS 2024 / arXiv:2405.15793v2 (Verified: 2026-10-30)

Selection Rationale:

Primary literature on agent-computer interfaces showing that bounded tool commands, trajectory inspection, and environment constraints determine whether an agent can carry an engineering task to verifiable completion.

Source Prerequisites:

Agent loops, tool protocols, and basic software engineering workflow vocabulary.

Safe Fallback (Offline Resilience):

The permission/budget control profile, tool contract schema, and trace audit procedure are fully implemented in the local bounded agent fixture (projects/agent_learning).

Compared Candidate Sources & Selection Analysis (2)

Broader generalist agent platform; SWE-agent isolates the agent-computer interface design principles most relevant to bounded task delivery.

AutoCodeRover: Autonomous Program Improvement ↗ compared_alternative [Open Access / CC BY 4.0]

Focuses on autonomous program repair via code search; SWE-agent better matches the curriculum's bounded-tool and human-verification emphasis.

linking CC BY-NC-SA 3.0 noncommercial share-alike

Pro Git, Second Edition

Author: Scott Chacon and Ben Straub | Original Source Link ↗

Relevant Section / Range: Chapter 3 (Git Branching), Section 7.7 (Reset Demystified), Sections 5.2/6.2 (Contributing to a Project)

Verified Version & Date: Second edition (Apress, 2014) (Verified: 2026-10-30)

Selection Rationale:

Freely licensed reference for branching, merging, conflict resolution, and safe recovery vocabulary used through the delivery workflow.

Source Prerequisites:

Basic git status/log/diff vocabulary from earlier study days

Safe Fallback (Offline Resilience):

git help <command> and the Git manual pages ship with Git and cover the same commands offline; every required workflow is stated locally in the lesson.

Compared Candidate Sources & Selection Analysis (2)
GitHub Skills interactive courses ↗ compared_alternative [MIT (varies by course)]

Interactive but requires a GitHub account and an external service; disposable local repositories keep the exercise self-contained.

Atlassian Git Tutorials ↗ compared_alternative [All Rights Reserved]

Vendor-owned prose with no permissive license; Pro Git covers the same ground under CC BY-NC-SA.

04 120 min

Assessment: Trace Audit and Evidence-Backed Acceptance Verdict

Independent Mastery Check (no AI assistance).

Prerequisites

Day 79 Activities 1-3.

Learning Objective

Independently audit the agent run: verify every acceptance criterion against observable evidence, confirm budget and permission compliance, and write a pass/fail verdict that does not trust the agent's own claims.

Instructions

1. Reload /tmp/agent-run.json and verify each acceptance criterion from Activity 1 with a concrete assertion or command output.
2. Check every recorded action against the permission list: flag any out-of-scope file access or unregistered tool call.
3. Confirm termination safety: steps and retries inside budget, no timeout kill, structured failure observations wherever a fault was injected.
4. Write verdict.md: a criterion-by-criterion table quoting the evidence command and observed result, plus one paragraph of limitations — the deterministic-v1 adapter is a fixture, not live-model evidence.

Practice & Prediction Log

Produce verdict.md as a table: criterion | evidence command | observed result | verdict. At least one row must cite a fault path (invalid_arguments or missing_note) that you re-ran yourself.

Independent Mastery Criterion

Issue an evidence-backed acceptance verdict that separates your independent verification from the agent's assisted performance.

Authoritative Source Resources & Provenance

linking Open Access / CC BY 4.0

SWE-bench: Can Language Models Resolve Real-World GitHub Issues?

Author: Carlos E. Jimenez, John Yang, Alexander Wettig, Shunyu Yao, Kexin Pei, Ofir Press, Karthik R. Narasimhan | Original Source Link ↗

Relevant Section / Range: Appendix A.4 Evaluation Procedure

Verified Version & Date: ICLR 2024 / arXiv:2310.06770v3 (Verified: 2026-10-30)

Selection Rationale:

Defines the standard pattern this block teaches: a bounded issue statement paired with executable fail-to-pass tests as verifiable acceptance criteria for agent-produced changes.

Source Prerequisites:

Unit testing, issue descriptions, and repository evaluation vocabulary.

Safe Fallback (Offline Resilience):

The acceptance-criteria pattern is exercised locally through the Ticket 22 fixture scorer and the Ticket 24 regression exercise without external datasets.

Compared Candidate Sources & Selection Analysis (2)
HumanEval: Evaluating Large Language Models Trained on Code ↗ compared_alternative [arXiv non-exclusive license / Open Access]

Function-level synthesis benchmark; SWE-bench models the repository-scoped issue-to-diff workflow that this delivery block rehearses.

Multi-SWE-bench: A Multilingual Benchmark for Issue Resolving ↗ compared_alternative [Open Access / CC BY 4.0]

Extends issue resolution to multiple programming languages; the original Python-centric SWE-bench provides a cleaner pedagogical anchor.

linking Open Access / CC BY 4.0

SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering

Author: John Yang, Carlos E. Jimenez, Alexander Wettig, Kilian Lieret, Shunyu Yao, Karthik Narasimhan, Ofir Press | Original Source Link ↗

Relevant Section / Range: Appendix B.3 Trajectory Analysis and B.4 Failure Modes

Verified Version & Date: NeurIPS 2024 / arXiv:2405.15793v2 (Verified: 2026-10-30)

Selection Rationale:

Primary literature on agent-computer interfaces showing that bounded tool commands, trajectory inspection, and environment constraints determine whether an agent can carry an engineering task to verifiable completion.

Source Prerequisites:

Agent loops, tool protocols, and basic software engineering workflow vocabulary.

Safe Fallback (Offline Resilience):

The permission/budget control profile, tool contract schema, and trace audit procedure are fully implemented in the local bounded agent fixture (projects/agent_learning).

Compared Candidate Sources & Selection Analysis (2)

Broader generalist agent platform; SWE-agent isolates the agent-computer interface design principles most relevant to bounded task delivery.

AutoCodeRover: Autonomous Program Improvement ↗ compared_alternative [Open Access / CC BY 4.0]

Focuses on autonomous program repair via code search; SWE-agent better matches the curriculum's bounded-tool and human-verification emphasis.