feat: solo default, job completion reports, tools wave-1 (0.9.32)
Password Realm no longer auto-enables parliament (keeps task/worker tools); finished jobs fan out to agent notes + TUI; raise PAR_MAX/grep caps and tag truncations. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -24,6 +24,9 @@ int main(void) {
|
||||
cst_realm_keys_t bad, good;
|
||||
assert(cst_realm_unlock_password(realm, "wrong", &bad) != 0);
|
||||
assert(cst_realm_unlock_password(realm, "correct horse battery", &good) == 0);
|
||||
/* Password Realm alone must not force parliament (solo keeps workers). */
|
||||
unsetenv("CST_COLLABORATION");
|
||||
assert(!cst_parliament_is_active());
|
||||
|
||||
char err[128];
|
||||
char *hand = cst_parliament_login("correct horse battery", "phone-1", "pixel",
|
||||
|
||||
@@ -64,6 +64,18 @@ int main(void) {
|
||||
assert(!cst_job_start(r, "read", "", 1, work, NULL, NULL, id, sizeof(id)));
|
||||
assert(cst_runtime_finish(r, "completed", "premature", 0, error, sizeof(error)));
|
||||
s = cst_job_read(r, id, 2000); assert(s && strstr(s, "completed") && strstr(s, "verified job output")); free(s);
|
||||
/* Dual completion rings: agent and UI drain independently. */
|
||||
{
|
||||
cst_job_completion_t comps[4], ui[4];
|
||||
int n = cst_runtime_take_completions(r, comps, 4);
|
||||
assert(n >= 1);
|
||||
assert(comps[0].id[0] && !strcmp(comps[0].status, "completed"));
|
||||
assert(strstr(comps[0].summary, "exit=") || comps[0].exit_code == 0);
|
||||
assert(cst_runtime_take_completions(r, comps, 4) == 0);
|
||||
int nu = cst_runtime_take_ui_completions(r, ui, 4);
|
||||
assert(nu >= 1 && !strcmp(ui[0].status, "completed"));
|
||||
assert(cst_runtime_take_ui_completions(r, ui, 4) == 0);
|
||||
}
|
||||
assert(!cst_job_start(r, "external", "device:test", 0, work, NULL, NULL, id, sizeof(id)));
|
||||
/* Let the scheduler start the operation before requesting a safe stop. */
|
||||
for (int i = 0; i < 100; i++) {
|
||||
|
||||
Reference in New Issue
Block a user