5.7 KiB
5.7 KiB
MEMORY
This file is the durable handoff for AI agents working in this repository. Keep it short, factual, and current. If it ever drifts from the source docs or code, update this file to match the real source of truth.
File Roles
MEMORY.mdstores durable project context: guardrails, sourced facts, assumptions, decisions, code status, and verification notes.TODO.mdstores the active execution queue and the current critical path.CHANGELOG.mdstores dated repository-level change history.- Do not turn
TODO.mdinto a second memory file,MEMORY.mdinto a running checklist, orCHANGELOG.mdinto a design document.
Guardrails
- Treat
/docsand direct instructor clarifications as authoritative for assignment requirements and parameter values. - Do not invent missile or target thrust, mass, drag, or geometry tables. Transcribe them from the source packet and note what was extracted.
- Preserve SI units unless a document explicitly states otherwise.
- Keep
code/Interceptor_3DOF.mas the primary entry point unless there is an intentional repo-wide refactor. - When implementing the atmosphere helper, include the stratosphere branch for altitude
> 11 km. - Do not describe the model as runnable until all
XXplaceholders are replaced andgetRho.mexists. - Record every meaningful assumption, extracted constant, unresolved issue, and verification result here.
- Keep
TODO.mdaligned with the current critical path, but keep durable context and decisions in this file. - Keep dated repo history in
CHANGELOG.md, not in this file. - Use exact dates in status notes.
- Do not store secrets, tokens, or personal data in this file.
Current Snapshot
- Date:
2026-03-28 - Project: MATLAB 3DOF interceptor-versus-target engagement assignment for AERO 3220 Spring 2026.
- Source docs reviewed:
docs/AERO 3220 3DOF Information Spring 26.pdfdocs/Atmosphere Model SI Units.pdfdocs/Addendum to Atomosphere Model Feb 26.pdfdocs/Missile and Target Data for 3DOF Spring 26.pdf
- Instructor clarification documented on
2026-03-28:- The atmosphere model must be written and integrated into the simulation.
- The atmosphere implementation must include the stratosphere model for altitude
> 11 km. - The code will not run until the missing
XXvalues are replaced with real numbers.
- Stratosphere model confirmed from
docs/Addendum to Atomosphere Model Feb 26.pdf:- For
z > 11000 m, useT = T0 + lapserate*(11000 - z0), so temperature is constant above11 km. - Compute
P11k = P0*(T/T0)^(-g/(lapserate*R)). - Compute
P = P11k*exp(-g*(z - 11000)/(R*T)). - Then compute
rho = P/(R*T)andacousticSpeed = sqrt(gamma*R*T).
- For
- Active implementation assumptions:
Maz = 0 degis currently assumed incode/Interceptor_3DOF.mto preserve the coplanary = 0engagement geometry until a source document says otherwise.- The target and missile thrust, mass, and drag arrays were manually transcribed from the image-based plots in
docs/Missile and Target Data for 3DOF Spring 26.pdfon2026-03-28.
- Assignment baseline confirmed from the handout:
- Velocity pursuit guidance gain =
0.5 - Blind range =
2 m - Acquisition range =
5000 m - Lateral acceleration limit =
40 g - Velocity-pursuit guidance start delay =
0.5 safter missile launch - Terminal proportional-navigation gain =
4 - Commit time =
50 s - Missile initial elevation angle =
40 deg
- Velocity pursuit guidance gain =
- Required plots confirmed:
- Target/missile vertical-plane trajectories
- Target speed versus time
- Missile speed versus time
- Missile Mach number versus time
- Missile acceleration magnitude versus time since missile launch
Code Status
code/Interceptor_3DOF.mdrives the integration loop, plotting, and CSV export.code/getRho.mnow exists and implements both the lower-atmosphere model and the addendum-defined stratosphere branch forz > 11 km.code/Interceptor_3DOF.mandcode/getGuidance.mnow contain the known scalar assignment constants.code/T3dxdt.mandcode/M3dxdt.mnow contain manually transcribed target/missile reference areas, thrust curves, mass curves, and drag tables.code/getGuidance.mnow normalizes input shapes to column vectors soM3dxdtcan call it without row/column mismatch failures.- Octave now evaluates
getRho.m,T3dxdt.m, andM3dxdt.msuccessfully, and the full script begins integrating without placeholder errors. - End-to-end validation is still incomplete because the current nested
ode45loop runs very slowly in Octave and was not observed through final plot/CSV generation within the available runtime. code/getMD.mexists and computes miss distance at the point of closest approach.
Next Actions
- Complete an end-to-end Octave validation run and confirm that the required plots and CSV files are produced.
- Investigate the runtime cost of the nested
ode45loop incode/Interceptor_3DOF.mif full validation remains too slow. - Confirm whether the temporary
Maz = 0 degassumption should remain. - Decide whether the manually transcribed target/missile curves need a second pass for tighter fidelity.
Update Protocol For Agents
After any meaningful change, update:
Current Snapshotif assumptions, sourced values, or operating context changed.Code Statusif files were added, edited, or made runnable.Next Actionsonly if the durable sequencing changed in a meaningful way.TODO.mdif the active work queue or current critical path changed.CHANGELOG.mdwith a short dated note for repo-level changes.