Skip to content

Lock anti-regression boundaries for composite systems and proven firmware blockers #1

Description

@kingcinder

Purpose

Freeze the current proven BossCamSuite state so future passes do not regress working structured editors, reopen already-closed REST dead ends, or reintroduce JSON-first interaction for user-facing composite systems.

Proven working composite systems

These are surfaced through structured non-JSON editors and have live validation evidence:

  • Overlay / OSD
    • channelNameOverlay write/readback/restore passed
    • datetimeOverlay write/readback/restore passed
  • Motion Grid
    • object-level write/readback/restore passed
  • Cloud / Time
    • structured path exists; firmware normalizes some values depending on enabled state
  • Network / Wireless workflows
  • Users
  • Playback / Search

Proven blocked or constrained systems on current 5523-W firmware/path

These are not open UI gaps. They are currently proven blocked or firmware-constrained.

Privacy Mask

Evidence from latest closure pass:

  • PUT /NetSDK/Video/input/channel/1/privacyMask/1 -> statusCode=6 Invalid Document
  • alternate full parent PUT /NetSDK/Video/input/channel/1 -> OK, but readback ignores privacyMask[]
  • no callable native privacy-mask ABI currently exists in the bridge path

Required anti-regression rule:

  • Do not claim Privacy Mask is writable through current REST path
  • Keep structured editor visible only with exact blocker truth
  • Future work must use materially distinct private/native-path recovery, not repeated REST retries

Motion Region

Evidence from latest closure pass:

  • child region endpoints return 404
  • parent writes injecting detectionRegion or switching detectionType=region return OK
  • readback remains grid-only with no region object

Required anti-regression rule:

  • Do not classify motion detection as globally unsupported
  • Motion Grid is working
  • Motion Region is separately blocked on current firmware/API path

Network Interfaces

  • /NetSDK/Network/interfaces returns 404 HTML on this firmware

Storage Media Search

  • /NetSDK/SDCard/media/search returns 404 HTML
  • SD status reports ejected

Non-regression rules

  1. Do not reintroduce raw JSON as the normal interaction path for any user-facing composite system that already has a structured editor.
  2. Do not regress proven structured editors for:
    • Overlay / OSD
    • Motion Grid
    • Cloud / Time
    • Network / Wireless workflows
    • Users
    • Playback / Search
  3. Do not silently overwrite successful operator writes through rollback defaults.
  4. Do not reclassify blocked systems as generic Unsupported without preserving exact blocker evidence.
  5. Do not reopen broad endpoint discovery or broad control classification in place of targeted blocker recovery.
  6. Any future recovery attempt for Privacy Mask or Motion Region must be materially distinct from already-proven failed REST approaches.

Required future direction

If future work targets blocked firmware-only composites, the next hard point is:

  • implementing a real callable HISI/native config bridge or private command family path

Not:

  • more generic REST retries
  • more broad endpoint rediscovery
  • more cosmetic UI work pretending the blocked systems are solved

Acceptance criteria for future passes

Any future pass touching these systems must preserve:

  • green build/test
  • working structured editors
  • exact blocker truth
  • no regression of live-validated behavior

And must only promote a blocked system if it achieves:

  • accepted write
  • changed readback
  • operational effect
  • restore/rollback proof where appropriate

Reference state

Latest known closure result includes:

  • composite systems completed in structured UI
  • blocked systems explicitly classified
  • build/test green
  • commit 6065869a39dea51b95d8424e0085ca316010a556

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions