# Bone Flow #031 TimeBox DOC Integration v1.0.14

DOC-0031 integrates the completed BoneTimeBox v1.0.9 with the `bf-timebox` HTML Functional Class without overwriting the Runtime, Shared DOC files, INDEX, or formal #026 TimePicker Runtime.

The formal picker dependency is #026 TimePicker DOC Integration v1.0.6 / BoneTimePicker v1.0.17. The Guide does not create `input[type=time]`, a browser-native picker, or a DOC-owned TimePicker imitation. A Live Sample mounts BoneTimeBox and uses the TimeBox's own clock trigger. Picker auditing is limited to the instance returned by `BoneTimeBox.getTimePicker(root)` and validated by `BoneTimePicker.isInstance()`. Candidate columns are read from the formal #026 body-portal Panel returned by `BoneTimePicker.getPanel(picker)`; no DOM-query fallback is accepted as picker or Panel identity.

DOC-0031 is **read-only toward #026 candidate DOM**. It does not hide/show rows, set `display:none`, change `aria-hidden`, disable/enable rows, or rebuild candidate lists. Those behaviors belong to formal #026.

For minute step, `BoneTimeBox.getOptions().step` alone is not a MATCH. The visible #026 minute candidates must match the step sequence. `step=15` requires `00 / 15 / 30 / 45`. min/max does not remove minute rows at boundary hours; #026 Validation disables invalid boundary-minute choices.

For min/max, #031 does not duplicate #026's `showOutOfRangeHours` Property. It expects the formal #026 default `false`. With `min=08:00` and `max=18:00`, the formal #026 hour DOM is `08` through `18`; `00`-`07` and `19`-`23` are absent. If #026 reports `showOutOfRangeHours=true`, the Guide reports policy MISMATCH instead of changing the DOM.

When seconds are enabled, seconds remain `00` through `59`. Boundary seconds that would violate min/max are disabled by #026 Validation, not removed by DOC-0031. 24/24:00 is not added.

The Guide compares #031 min/max/step with formal #026 options when `BoneTimePicker.getOptions()` is available. A missing formal picker, #026 version mismatch, unresolved strict candidate list, option mismatch, policy mismatch, or wrong visible sequence is FAIL/UNRESOLVED, never a synthetic MATCH.

Normal Live Samples use their own explicit `bf-timebox` attributes and do not depend on the page Preview. Only `previewLinked` copies the current Preview for parity checking. A user's interaction inside a Guide sample—including its formal #026 Panel under `document.body`—triggers read-only audit only and is not immediately overwritten by Preview resynchronization. External Preview/Property changes may resynchronize only Preview-linked samples. If Preview cannot be resolved, only `previewLinked` reports `TIMEBOX_DOC_PREVIEW_NOT_FOUND`; independent samples continue to work.

Preview identity is resolved by probing the formal `BoneTimeBox.getOptions()` API and additionally using `BoneTimeBox.isInstance()` when that API exists. DOC-0031 does not require or infer a `.bone-timebox` Runtime root class.


## v1.0.14 Live Sample isolation

Normal DOC Live Samples use explicit `bf-timebox` attributes and do not depend on the page Preview. Only `previewLinked` reads the existing Preview for parity. #026 candidate DOM remains read-only from DOC code.
