What is the recommended order of the three Training cases?#
B — The cases are numbered and progress 01-simple → 02-intermediate → 03-advanced, increasing in difficulty.
Pass threshold: 24/30. Prerequisite: Training completed.
B — The cases are numbered and progress 01-simple → 02-intermediate → 03-advanced, increasing in difficulty.
01-simple from 02-intermediate?#A — 01-simple is the fully guided, sample-data happy path; 02-intermediate uses the learner's own data with checkpoints instead of click-by-click steps.
03-advanced?#B — 03-advanced presents a real breakage (real incident or CHANGELOG "Fixed" entry) that the learner diagnoses without guided steps.
examples/chat_app.py use to implement the preferred pattern?#B — This is the exact call chain the preferred-pattern reference example uses.
panel() return?#B — panel(session, kwargs) -> CocoChatResult.
panel(), what does setting output_label=None do?#B — output_label=None hides the bordered output container; the default label otherwise is "CoCo output".
panel() parameter switches between showing the running transcript and showing only the latest field-style output?#A — output_mode toggles between "transcript" (default) and "field" rendering.
chat_input_bar(session, accept_file=True) enable?#B — accept_file=True (or "multiple") turns on file attachment, which is saved via the upload helpers into the session's cwd.
copilot_rail() parameter?#A — example_questions is a documented copilot_rail() parameter; the other three are not part of its signature.
job= used for in copilot_rail()?#B — job= takes a dict (prompt, label, status, expect_structured) that queues a prompt for the rail to send.
transcript_display_config() add to a rail-based UI?#A — transcript_display_config() renders the display-settings popover with Last-messages/First-n-characters controls.
app_dir point to for app_viewer() to work correctly?#B — app_viewer(app_dir, ...) requires a folder with streamlit_app.py (or the script_name override); it must never point at the host app's own directory.
app_viewer() do by default?#B — The Fix action calls on_fix with a prompt from default_fix_prompt(traceback, app_dir), normally queuing a CoCo job.
app_viewer() previews are meant to point at the same app_dir at once?#B — The documented limitation is one preview per app_dir.
CocoOptions field controls how long the app waits for a human decision on a pending approval before raising an error?#B — approval_timeout_seconds (default 600.0, i.e. 10 minutes) governs the HITL wait before ApprovalTimeoutError.
CocoOptions.permission_mode?#C — CocoOptions.permission_mode defaults to "default"; "plan" is used explicitly for ExitPlanMode flows.
B — check_environment() is the non-raising probe; require_environment() raises typed errors instead.
toml_file is not passed and there is exactly one *.toml file under ~/.snowflake/, what happens?#B — When exactly one *.toml exists under ~/.snowflake/, it is used regardless of its filename.
*.toml files under ~/.snowflake/ and no toml_file given, what is the selection order?#B — With multiple files, connections.toml wins first, then config.toml, then alphabetical order.
examples/structured_output.py demonstrate?#A — structured_output.py shows output_schema + on_structured_output routing JSON into a widget instead of chat text.
examples/headless_pipeline.py demonstrate?#B — headless_pipeline.py is pure async Python using query()/CocoSession, with no Streamlit import.
examples/approval_gate.py?#C — approval_gate.py demonstrates the legacy CCv2 chat() all-in-one component.
examples/backlog_desk/, compared to the other example apps?#A — backlog_desk is the first rail-based, no-SQL example, backed by local JSON files.
examples/backlog_desk/, how is its Copilot opened?#C — Its Copilot is opened from a header "Copilot" button or an action link and closed with "Close" — it is not a navigation page.
examples/bi_to_semantic/ read as input?#B — bi_to_semantic reads Tableau .twb/.twbx and/or Power BI .pbix/.pbit workbooks.
upload_to_cwd() / cwd_uploader() / chat_input_bar(accept_file=...) land by default?#A — Upload helpers write into <CocoOptions.cwd>/_uploads/ by default (subdirectory name configurable).
examples/app_builder/out/<slug>/?#B — The Build step writes brief.json, BRIEF.md, sketches/*, and streamlit_app.py into out/<slug>/.
B — The SBOM (CycloneDX) is attached to GitHub Release assets and is produced only in CI, on tag release.
render_approvals() present, and in what button order?#B — render_approvals() orders its controls Approve once, Always allow, Deny.
A, B — A, B
Every answer is also reachable per question above. This section keeps the full key for offline review and printing.
B — The cases are numbered and progress 01-simple → 02-intermediate → 03-advanced, increasing in difficulty.
A — 01-simple is the fully guided, sample-data happy path; 02-intermediate uses the learner's own data with checkpoints instead of click-by-click steps.
B — 03-advanced presents a real breakage (real incident or CHANGELOG "Fixed" entry) that the learner diagnoses without guided steps.
B — This is the exact call chain the preferred-pattern reference example uses.
B — panel(session, kwargs) -> CocoChatResult.
B — output_label=None hides the bordered output container; the default label otherwise is "CoCo output".
A — output_mode toggles between "transcript" (default) and "field" rendering.
B — accept_file=True (or "multiple") turns on file attachment, which is saved via the upload helpers into the session's cwd.
A — example_questions is a documented copilot_rail() parameter; the other three are not part of its signature.
B — job= takes a dict (prompt, label, status, expect_structured) that queues a prompt for the rail to send.
A — transcript_display_config() renders the display-settings popover with Last-messages/First-n-characters controls.
B — app_viewer(app_dir, ...) requires a folder with streamlit_app.py (or the script_name override); it must never point at the host app's own directory.
B — The Fix action calls on_fix with a prompt from default_fix_prompt(traceback, app_dir), normally queuing a CoCo job.
B — The documented limitation is one preview per app_dir.
B — approval_timeout_seconds (default 600.0, i.e. 10 minutes) governs the HITL wait before ApprovalTimeoutError.
C — CocoOptions.permission_mode defaults to "default"; "plan" is used explicitly for ExitPlanMode flows.
B — check_environment() is the non-raising probe; require_environment() raises typed errors instead.
B — When exactly one *.toml exists under ~/.snowflake/, it is used regardless of its filename.
B — With multiple files, connections.toml wins first, then config.toml, then alphabetical order.
A — structured_output.py shows output_schema + on_structured_output routing JSON into a widget instead of chat text.
B — headless_pipeline.py is pure async Python using query()/CocoSession, with no Streamlit import.
C — approval_gate.py demonstrates the legacy CCv2 chat() all-in-one component.
A — backlog_desk is the first rail-based, no-SQL example, backed by local JSON files.
C — Its Copilot is opened from a header "Copilot" button or an action link and closed with "Close" — it is not a navigation page.
B — bi_to_semantic reads Tableau .twb/.twbx and/or Power BI .pbix/.pbit workbooks.
A — Upload helpers write into <CocoOptions.cwd>/_uploads/ by default (subdirectory name configurable).
B — The Build step writes brief.json, BRIEF.md, sketches/*, and streamlit_app.py into out/<slug>/.
B — The SBOM (CycloneDX) is attached to GitHub Release assets and is produced only in CI, on tag release.
B — render_approvals() orders its controls Approve once, Always allow, Deny.
A, B — A, B