Skip to content

Interaction And VR Team 4 Changes#481

Open
ArnavMK wants to merge 437 commits into
idia-astro:mainfrom
david-bol12:team4
Open

Interaction And VR Team 4 Changes#481
ArnavMK wants to merge 437 commits into
idia-astro:mainfrom
david-bol12:team4

Conversation

@ArnavMK

@ArnavMK ArnavMK commented Jun 2, 2026

Copy link
Copy Markdown

All the changed files and refactored examples (not the documentation) are in the /Sub-Team-4-refactored-examples folder

ConKirby and others added 30 commits May 27, 2026 15:39
Add 13 targeted branch-coverage tests to FileTabViewModel (constructor
null-guards, no-op setters, setters-before-image-load, empty-VM Dispose,
IsLoadable axis rule, NAXIS1/NAXIS2 mismatch branches), lifting FileTab
branch coverage 67.4% -> 77.2% and clearing the >=70% gate. Update
test-strategy.md counts (Tier-1 63->76, combined 95/95 green) and §7.2
gate-pass state. Delete the duplicate top-level BNCH-6.md and point its
links at the canonical other/T2-baseline-benchmark/ copy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- D2 §4: add ADR numbering cross-walk table, flagging the local
  ADR-0003 <-> central ADR-002 number reversal.
- D3 §4.2: add ADR-010 replay/undo cross-reference; §8.1 CK table
  rewritten to cite measured vs projected numbers, owning the
  borderline FileTabViewModel WMC=27 with documented remediation.
- D1 §3: cite ADR-009 on NFR-MOD-1, NFR-REU-3, NFR-TST-1, NFR-TST-2.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ADR-009 audit (Day 8): 22 findings against the 7 ADR-009 claims, with
closures recorded for F4/F6/F14/F16/F18/F19/F20. Open items remain
F9/F10/F17 (transport contract has no real consumer in the worked
examples) and F15 (no Day-6 Sub-team 1 handshake recorded).

Coverage report: merged Coverlet/ReportGenerator numbers — DebugTab
100/100, FileTab 89.4/77.2 (gate cleared), gateway tracked-not-gated.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Corrected the number of collaborating classes replacing VolumeDataSetRenderer from five to four.
…ubscription, not OnGUI polling)

Slide 4.1 and Q4.1 described the Debug tab before-state as an "OnGUI/IMGUI
popup polling static logger state every frame... nothing to observe". That is
false. Ground truth: Assets/Scripts/Debuggers/DebugLogging.cs subscribes to
Application.logMessageReceived in OnEnable (push, event-driven), stores entries
in a non-generic Queue, does per-message StreamWriter I/O, and rebuilds the full
StringBuilder O(N) on every message into a TMP_InputField.

Reframed to the three real defects: static/Unity-coupled hook, unstructured
string Queue (no LogEntry/level/source/timestamp), and untestable. Also fixed
the fabricated requirements.md §2 quote ("OnGUI popup toggles") — the real row
already reads "Subscribes to Application.logMessageReceived".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… architecture.md §4

Slide 2.7 of the pitch listed ADR-0001 as "Status proposed", contradicting
D2-Architecture/architecture.md §4 (ADR-0001 = accepted, dated 2026-05-19).
Corrected to accepted; ADR-0002 stays proposed, matching architecture.md §4.

Repointed all four references to the non-existent standalone file
adrs/0001-mvvm-split.md (ADRs are embedded in architecture.md §4, not separate
files). The three Evidence-section references use the local "D2-Architecture/
architecture.md §4 (ADR-0001)" form; the Cross Reference line uses the real
full path docs/sub-team-6/deliverables/D2-Architecture/architecture.md (§4) to
match the ADR-0002 line directly below it — the literal token replacement would
have dropped the "deliverables/" segment and produced a broken path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…y rewire

The gateway rewire closed the three ❌ transport-consumer findings; the audit
still read them as open and reported a stale F12 test count. Verified against
source before editing:
- FitsServiceAdapter.cs forwards IFitsService through IServiceGateway, mapping
  OpenImage/OpenMask → file.open + dataset.getAxes, GetHeaderText →
  dataset.getHeader, handle Dispose → file.close. FitsServiceAdapterTests
  assert these wire shapes.
- GatewayLogStreamAdapter.cs subscribes to IServiceGateway.OnNotification,
  filters log.emit, republishes via ILogStream. GatewayLogStreamAdapterTests
  assert the { level, msg, ts } params shape.
- D5/test-strategy.md §4.4 confirms the full no-Unity suite = 95 (76 tier-1 +
  19 tier-2), matching the F14 figure already in the audit.

Changes (adr-009-audit.md only): F9, F10, F17 marked CLOSED 2026-05-27 with the
gateway-proxy + adapter-test evidence; §2 table now carries no open ❌ for
these. F12 updated from "63 NUnit tests (34 File + 29 Debug)" to "95 / 95 green
(76 tier-1 + 19 tier-2)". §3 Severity-❌ item 1 (F9+F10+F17) marked RESOLVED
(path (a) taken).

Note: coverage-report.md §header and architecture.md §3 still report the stale
"82 / 82" count; those are outside this commit's scope (P6a edits the audit
only) and tracked separately.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
standups.md had two 2026-05-27 (Day 8) blocks: the first carries real
content, the second was an empty template. Removed the empty duplicate.

Days 9-13 left as templates: Day 9 (2026-05-28) is today and Days 10-13 are
future-dated, so no factual attendance/work exists to backfill. Per §10.5
these process records are not fabricated.

No Sprint 2 / Sprint 3 Kanban snapshots added: those boundaries (Day 10 /
Day 12) have not yet arrived, so only the Sprint 1 snapshot exists.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…reamAdapter / log.emit)

§3 of metrics.md was pre-gateway-rewire and self-contradicted the rest of the
repo. Verified all facts against source before editing:

- BEFORE class exists: Assets/Scripts/Debuggers/DebugLogging.cs (255 lines,
  MonoBehaviour) subscribes to the static Application.logMessageReceived in
  OnEnable (:149), stores in a non-generic Queue, does per-message StreamWriter
  I/O (:249), rebuilds the full TMP_InputField text O(N) per message (:189).
- AFTER adapter is GatewayLogStreamAdapter (refactoring-examples/.../debug-tab/
  adapters/GatewayLogStreamAdapter.cs): pure C#, subscribes to
  IServiceGateway.OnNotification, filters "log.emit" per ADR-0002, republishes
  via inner LogStream. No UnityEngine, no [DllImport].
- CK figures + LogEntry/ILogStream/IDebugTabViewModel surfaces taken from the
  committed debug-tab/ck-metrics.md and skeleton sources.

Changes (§3 only for substance):
- §3.1: dropped "no Debug tab class"; describes DebugLogging.cs as the before-
  state consumer (WMC 8 / DIT 4 / CBO ~10 / RFC ~25 / LCOM4 ~3 — 5/6 pass, a
  testability not metric refactor). The 40 Debug.Log call-sites are now framed
  as a SEPARATE producer-side concern, not "the debug tab".
- §3.2: renamed UnityLogStreamAdapter -> GatewayLogStreamAdapter (Adapter, pure
  C#, consumes server-pushed log.emit via IServiceGateway). DebugTabViewModel
  kept as the Observer. Corrected stale surfaces to committed code: LogEntry is
  a 3-field record (level/message/timestamp, no Source); ILogStream has the two
  Publish overloads + Subscribe/Unsubscribe; IDebugTabViewModel exposes
  LogEntries/AppendEntry/ClearEntries/EntriesChanged. Aligned View/VM/Adapter
  CK numbers to ck-metrics.md.
- §3.3: delta table rebuilt around the gateway design (log source: static event
  -> IServiceGateway seam; UnityEngine eliminated from the transport path).

Deviation from the prompt, fixed to reality:
- The prompt said the current after-state named "UnityLogStreamAdapter
  subscribing to Application.logMessageReceived". In fact the stale §3.2 had
  UnityLogStreamAdapter calling UnityEngine.Debug.* (producer-rewire variant);
  Application.logMessageReceived was the BEFORE class's hook. Rewired to the
  gateway model regardless.
- To pass VERIFY (0 hits of "UnityLogStreamAdapter" file-wide) the name also
  appeared in §4.2, §5.2, §6, §7. Renamed those four single-line references
  too, each kept truthful (the §5.2 blocker reworded to the static-event hook).

Out of scope: refactoring-examples/.../debug-tab/ck-metrics.md still references
UnityLogStreamAdapter/Application.logMessageReceived in its AFTER section; it is
read-only ground truth here and tracked separately.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Aaron-JByrne and others added 10 commits June 2, 2026 20:21
Drop branch-local changes to Configure.ps1 and the tests/ files that
were rejected in PR review; restore them to match origin/main.
…l-TestBuild

Sub-team 1: Micro-kernel architecture — UML diagrams + Plug-in ABI draft
Update sub-team 4 Interaction ai log
@CordlessCoder

Copy link
Copy Markdown

@grok is this real

Mhe115 and others added 19 commits June 3, 2026 14:40
- docs/sub-team-2/test-strategy.md: full test catalogue with type labels
  (unit/integration/structural, white-box/black-box) and coverage targets
- refactoring-examples/Sub-Team-2/tests/: four NUnit test files covering
  FitsHeader pure-logic (T-01–03), NativePluginLoader guard logic (T-04–05),
  integration tests against idavie_fits.dll (T-06–09), and structural
  reflection tests enforcing no-UnityEngine dependency rule (T-10–12)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add CONFORMANCE.md: contract test suite specification (conformance
  clauses C1-C8, check definitions, required-symbol manifest, CI gating).
- Remove idavie_abi.h: the C binding header is a Sub-team 2 deliverable
  ("C ABI binding header samples", assignment §6.2).
- Reframe ABI_SPEC.md as the normative contract that references the
  Sub-team 2 binding header; drop dangling MIGRATION.md/worked_example refs.
…l-TestBuild

Sub-team 1: Micro-kernel architecture — UML diagrams + Plug-in ABI
The Unity .gitignore rule blocked all *.csproj files; added an exception
for refactoring-examples/**/*.csproj so hand-authored project files are tracked.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.