fix: parliament UX, prompt alignment, execution nudges (0.9.14)

Inject shared parliament context into the agent environment, switch
prompts away from in-process workers when parliament is active, clear
login tickets on chair sync/new-project, and surface realm/chair/service
in /status. Tighten empty-reply handling and prefer-tool principles.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
WHC
2026-10-29 10:22:31 +08:00
co-authored by Cursor
parent be8d021480
commit 9c6257fc96
9 changed files with 207 additions and 40 deletions
+6 -4
View File
@@ -68,9 +68,9 @@ int cst_parliament_cli_realm_password_init(const char *password) {
}
int cst_parliament_cli_login(const char *password, const char *instance_id,
const char *device_label) {
const char *device_label, int peer_port) {
return cst_parliament_cli_login_and_serve(password, instance_id, device_label,
9100);
peer_port > 0 ? peer_port : 9100);
}
int cst_parliament_cli_login_and_serve(const char *password,
@@ -88,8 +88,10 @@ int cst_parliament_cli_login_and_serve(const char *password,
if (cst_parliament_daemon_start(password, instance_id,
peer_port > 0 ? peer_port : 9100, err,
sizeof(err)) != 0) {
fprintf(stderr, "service: %s\n", err[0] ? err : "start failed");
return 1;
fprintf(stderr, "warning: service: %s (chair login still valid)\n",
err[0] ? err : "start failed");
printf("service=failed\n");
return 0;
}
if (cst_parliament_daemon_running())
printf("service=running\n");