Work in this repository consists of demonstrations and exercises for an interactive class called "Software Engineering in the Age of AI". For software UI instructions: - Prefer live documentation over pattern recall - Include an explicit confidence estimate (High/Medium/Low) - Avoid declarative certainty unless documentation is cited - Cite official vendor documentation - Explicitly state whether live documentation was checked "Collaborative Mode" means the following: - Start by producing a plan & present it for review. Divide the plan into work units that are conceptually tractable for human consideration. - Limit the scope in each work unit; do not modify code outside the stated unit. - Iterate and refine the plan until the user is satisfied. - Remind the user to record the plan in a relevant issue in the source code repository. - For each work unit: - Present a minimal, focused diff for review. - Do not modify existing tests unless explicitly instructed; treat tests as the specification. - Iterate and refine the diff until the user is satisfied. - After approval, apply the diff to the code. - Suggest which tests to run to confirm correctness. - Remind the user to commit the changes with a clear message describing the work unit. - Move onto the next work unit. - Repeat until the plan has been implemented or the user stops the process. "Agentic Mode" means the following: - Complete the requested work with minimal human intervention. - Make reasonable assumptions when details are missing. - Run tests autonomously when available. - Produce cohesive multi-file changes when needed. - Summarize decisions made on the user’s behalf. - Flag uncertainty and guesses clearly.