What did the 0.1.8 fix change about App Builder's Studio page?#
A — CHANGELOG 0.1.8 Fixed: Save & regenerate now writes BRIEF.md before queuing CoCo, closing the overwrite race.
Pass threshold: 24/30. Prerequisite: ≥ 3 months of use.
0.1.8 fix change about App Builder's Studio page?#A — CHANGELOG 0.1.8 Fixed: Save & regenerate now writes BRIEF.md before queuing CoCo, closing the overwrite race.
0.1.7 fix change about make audit / CI pip-audit?#B — CHANGELOG 0.1.7 Fixed: --skip-editable avoids a false "not found on PyPI" audit failure after a version bump.
0.1.6 fix address?#B — CHANGELOG 0.1.6 Fixed covers both the $schema/$id stripping and the use_container_width → width="stretch" change.
0.1.6 fix specifically avoid?#A — The exact error text cited in 0.1.6's Fixed entry is the draft-URI schema-ref rejection.
0.1.5 security workflow?#B — CHANGELOG 0.1.5 Changed (Security): CodeQL dropped (GHAS license gap), Gitleaks and pip-audit kept.
0.1.0 fix change about completed Grep/Glob tool cards?#A — CHANGELOG 0.1.0 Fixed: Grep/Glob completed cards show a compact summary instead of a full dump.
SDKNotInstalledError. What does this indicate, and what is the fix?#B — SDKNotInstalledError means the optional SDK extra is missing; the fix is pip install streamlit-coco[sdk] or make install.
CLIProbeError. What does this mean?#B — CLIProbeError is specifically "binary found but --version failed," distinct from CLINotFoundError.
B — The troubleshooting table's fix for a stuck connect is checking terminal logs and enabling STREAMLIT_COCO_DEBUG=1.
A — Input disabled after boot maps to SessionNotReadyError/error status; fix the environment and reset from the sidebar.
overwrite behavior of upload_to_cwd(), and how does it differ from chat_input_bar()'s upload default?#B — upload_to_cwd()'s own default is overwrite="error"; chat_input_bar() sets its upload_overwrite default to "replace".
app_viewer()'s log parser look for to detect an error, and what is a known limitation?#A — The parser matches on those two strings; a later timestamped line can be misread as clearing the error.
app_viewer()'s host app read the previewed app's DOM traceback directly?#A — The child preview is another origin (different port), so only the scraped log — not the DOM — is available to "Fix with CoCo."
ApprovalTimeoutError fire?#B — ApprovalTimeoutError fires once approval_timeout_seconds (default 600s) elapses with no decision.
B — "Always allow" lives only in PermissionManager.always_allowed_tools in memory; it clears on reset(), close(), or restart.
CORTEX_CODE_CLI_PATH environment variable override?#B — CORTEX_CODE_CLI_PATH overrides the CLI path lookup when the CLI is not on PATH and cli_path was not passed.
is_debug_mode() treat as truthy for STREAMLIT_COCO_DEBUG / COCO_DEBUG?#B — is_debug_mode()'s documented truthy set is "1"/"true"/"yes"/"on" (case-insensitive) or a truthy session-state flag.
TTS_DATA_MODE read, and what does it affect?#B — TTS_DATA_MODE is read only inside the bi_to_semantic child preview process, via app_viewer(env=...).
B — SEC-01 is listed open, target v0.2, in threat-model.md §7.
B — SEC-02 is listed open, target v0.2; the security page's current guidance is interim, not the tracked deliverable.
B — 0.1.5 dropped the CodeQL job for license reasons; security.yml today runs only Gitleaks and pip-audit.
security.yml today, and on what triggers?#B — Gitleaks (CLI) and pip-audit --skip-editable run on PR, push-to-main, and the weekly Monday schedule.
A, B — A, B
findings-report.md (version audited 0.1.0), which of these did the review NOT find in the source?#A — The manual review explicitly states no shell=True, no hardcoded credentials, and no eval()/exec() were found.
CocoSession's background worker to restart?#B — options_hash() hashes only the tool-permission-affecting fields; CocoSession restarts its worker only when that hash changes.
wrap_exception() do?#B — wrap_exception() message-sniffs the raw exception and uses context= to pick the right CocoError subclass.
ApprovalTimeoutError also subclass, alongside CocoError?#B — ApprovalTimeoutError is documented as also a TimeoutError.
SDKNotInstalledError also subclass, alongside CocoError?#A — SDKNotInstalledError is documented as also an ImportError.
ci.yml run on every PR to main?#A — CI runs unit and e2e tests on every PR to main, without a live CoCo agent; live checks are manual-only.
make audit have failed spuriously right after a version bump, before the 0.1.7 fix?#A — Before 0.1.7, pip-audit without --skip-editable reported the just-bumped local version as missing from PyPI.
Every answer is also reachable per question above. This section keeps the full key for offline review and printing.
A — CHANGELOG 0.1.8 Fixed: Save & regenerate now writes BRIEF.md before queuing CoCo, closing the overwrite race.
B — CHANGELOG 0.1.7 Fixed: --skip-editable avoids a false "not found on PyPI" audit failure after a version bump.
B — CHANGELOG 0.1.6 Fixed covers both the $schema/$id stripping and the use_container_width → width="stretch" change.
A — The exact error text cited in 0.1.6's Fixed entry is the draft-URI schema-ref rejection.
B — CHANGELOG 0.1.5 Changed (Security): CodeQL dropped (GHAS license gap), Gitleaks and pip-audit kept.
A — CHANGELOG 0.1.0 Fixed: Grep/Glob completed cards show a compact summary instead of a full dump.
B — SDKNotInstalledError means the optional SDK extra is missing; the fix is pip install streamlit-coco[sdk] or make install.
B — CLIProbeError is specifically "binary found but --version failed," distinct from CLINotFoundError.
B — The troubleshooting table's fix for a stuck connect is checking terminal logs and enabling STREAMLIT_COCO_DEBUG=1.
A — Input disabled after boot maps to SessionNotReadyError/error status; fix the environment and reset from the sidebar.
B — upload_to_cwd()'s own default is overwrite="error"; chat_input_bar() sets its upload_overwrite default to "replace".
A — The parser matches on those two strings; a later timestamped line can be misread as clearing the error.
A — The child preview is another origin (different port), so only the scraped log — not the DOM — is available to "Fix with CoCo."
B — ApprovalTimeoutError fires once approval_timeout_seconds (default 600s) elapses with no decision.
B — "Always allow" lives only in PermissionManager.always_allowed_tools in memory; it clears on reset(), close(), or restart.
B — CORTEX_CODE_CLI_PATH overrides the CLI path lookup when the CLI is not on PATH and cli_path was not passed.
B — is_debug_mode()'s documented truthy set is "1"/"true"/"yes"/"on" (case-insensitive) or a truthy session-state flag.
B — TTS_DATA_MODE is read only inside the bi_to_semantic child preview process, via app_viewer(env=...).
B — SEC-01 is listed open, target v0.2, in threat-model.md §7.
B — SEC-02 is listed open, target v0.2; the security page's current guidance is interim, not the tracked deliverable.
B — 0.1.5 dropped the CodeQL job for license reasons; security.yml today runs only Gitleaks and pip-audit.
B — Gitleaks (CLI) and pip-audit --skip-editable run on PR, push-to-main, and the weekly Monday schedule.
A, B — A, B
A — The manual review explicitly states no shell=True, no hardcoded credentials, and no eval()/exec() were found.
B — options_hash() hashes only the tool-permission-affecting fields; CocoSession restarts its worker only when that hash changes.
B — wrap_exception() message-sniffs the raw exception and uses context= to pick the right CocoError subclass.
B — ApprovalTimeoutError is documented as also a TimeoutError.
A — SDKNotInstalledError is documented as also an ImportError.
A — CI runs unit and e2e tests on every PR to main, without a live CoCo agent; live checks are manual-only.
A — Before 0.1.7, pip-audit without --skip-editable reported the just-bumped local version as missing from PyPI.