Repository navigation
Conversation
added 30 commits
October 13, 2026 00:59
… Cortex tool names
…FolderPolicy, safest by default)
…gate, with its tests
….testing.scripted
…ecret-named file or a flagged place, and says only what it covers
…send held without the queue
… helpers); st_coco exposes the window's interface
…tration forms through the handle
… the same care; changes there stay outside the scope
…co.result alone; stale texts
…; Makefile and CHANGELOG
…t_field loses its workaround
… app-builder, headless; new index
added 14 commits
October 13, 2026 09:03
…ning pack marked out of date
… request, running an app from another folder
…s a host can replace (words=)
…t), a missing working folder is one clear error, the page reruns once per window run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Applications mount Ask CoCo with
ask_coco(cwd): a floating launcher and window with one conversation, explicit approval requests, questions, plans, attachments, structured results and page requests. This replaces thechat,panelandcopilot_railfamily for 0.2.0; the migration table maps removed public names to the window API.CocoSessionandquery()remain available for headless use.The package now owns the conversation, policy, gate, Cortex adapter, window assets, scripted agent, fixtures and harness previously developed in the Spec-First Cockpit. The default
FolderPolicyallows reads within the working folder and asks before other actions. A standing file-change permission does not cover.git, secret-named files or flagged paths. Hosts can supply their own labels, context, prompts and policy.The examples, API reference and feature documentation use the window. The delivery includes the original Ask CoCo design canvas (86 frames, two host-page views, manifest and CSS), a browser index and provenance notes in
doc/features/ask-coco/design/.Features included
ask_coco(cwd), with connect/disconnect, suggested prompts, streaming answers, tool steps, Stop, queued messages with Take back, and New conversation. A single component runs inside a fragment; idle polling stops and a completed file-changing run refreshes the page once.FolderPolicy, exact listed commands, read-only Git helpers, SQL and lookup rules, additional read folders (also_read), and optional standing permissions by family that can be revoked. Protected paths still ask; standing file-change permissions never cover.git, secret-named files or paths flagged by the host. Requests are described from the checked call, with exact command, file or SQL evidence.coco.ask()starts a request from a page button,coco.result()hands back a completed result once without losing it while pending,coco.form()hosts a page question, and notices and callbacks connect the window with the app. Optional page text, open-dialog text and selection accompany a message.These features were first developed in the Cockpit and are delivered here as reusable package functionality. Optional features are enabled by the host; the default installation does not enable every playground feature.
Type of change
Compatibility and review
Companion PR: DevoteamSP/spec-first #15.
Contribution branch:
alentzjos:feat/ask-coco-window, targetingDevoteamSP/streamlit-coco:main.Breaking API change from 0.1.9: review the migration sheet in
doc/features/ask-coco/ask-coco.md, section 2, and the no-regression table in section 3.Version remains
0.2.0.dev0; this PR does not publish or tag a release.The companion Spec-First PR consumes the package through a committed development wheel; review and merge the package first.
Canvas sources are preserved byte for byte. Finished consultation pages omit the original editor scripts and disable links to Cockpit mockups outside the canvas. Montserrat loads from Google Fonts, with a system-font fallback offline.
The canvas ships in the repository and sdist; the runtime wheel contains only the package and runtime assets.
Validation
Checked locally on 2026-10-13:
ruff check .: passed.pytest tests/ --ignore=tests/e2e -q): 583 passed, 2 skipped, 741 subtests passed.uv build --sdist: passed; all 17 design delivery files are present and match the working copy.uv.lockis preserved, ignored by Git and excluded from the sdist.git diff --cached --check: passed before both documentation commits.Design delivery commit:
5bc9c64; cleanup commit:e4807aa; finished-preview delivery without the generator:d4e9a93. The runtime is unchanged by these documentation/packaging commits, so the 583-pass unit result remains applicable; the lint, canvas preview and source archive checks were rerun after cleanup. Browser E2E rerun before opening the PR: 5 passed. Dependency audit (pip-audit --skip-editable): no known vulnerabilities found.Remaining release checks
The canvas index uses the original warm palette and local Montserrat, with five static board links and a responsive layout (commit
96849b4). Desktop and mobile rendering were verified in Edge.GitHub CI initially exposed two Windows-specific path expectations on Linux. Commit
2f98278corrects the tests to verify native path semantics on each system without changing runtime policy; the local policy suite passed (125 tests, 2 skipped, 577 subtests). All GitHub checks pass on the follow-up commit152d29c: unit/lint, browser E2E, gitleaks and pip-audit. Native path assertions cover the request and the offered standing permission on each system.