161 Commits

Author SHA1 Message Date
EugeneTes
5f33d139b3 docs(processes): process spawn policy, hardening and redaction
extensions.md: api.Processes and api.Redactor, ExecAsync on the policy,
ProcessSpawnEvent, ctx.TimeZone and PrepareProcessAsync, and a Spawning
processes section. architecture.md: Processes slice, the Abstractions
contract, a Processes and secrets section, and where the loop redacts.
CLAUDE.md: Processes slice and bullet.

Spec: status implemented (scheduler and MCP spawners come with their specs);
a hook returning null fails the spawn; test projects consume the one-shot
hardening from a module initializer; the Hardener seam; 'allow: none' in the
Telegram log line.
2026-09-26 19:23:09 +02:00
EugeneTes
694ef3594e feat(telegram): process environment policy, secret values and host hardening
Spec 6 now says this spec adds only the bot token to SecretValues; the speech key and Google client secret are added by the telegram-attachments and google-calendar specs.
2026-09-26 19:20:43 +02:00
EugeneTes
c8e1e796ef test(claude-code): provider environment ignores process spawn hooks 2026-09-26 19:18:28 +02:00
EugeneTes
4f97db0643 feat(tools): bash spawns through the process spawn policy 2026-09-26 19:17:04 +02:00
EugeneTes
187414a459 feat(extensions): session-bound process preparation and ProcessSpawnEvent
IExtensionContext.PrepareProcessAsync fills scope, session id and zone, runs the host policy, then ProcessSpawnEvent handlers (a throwing handler fails the spawn). IExtensionApi.Processes/Redactor are available during activation. ExecAsync spawns through the policy. Spec section 4 notes the default interface members and the fail-closed dispatch.
2026-09-26 19:15:26 +02:00
EugeneTes
52439b0dc4 feat(processes): redact known secret values from tool output
ISecretRedactor (Abstractions) and SecretRedactor (ordinal, longest first,
values under 8 characters ignored) registered as a singleton over
ProcessEnvironment.SecretValues. AgentSession.RunOneAsync redacts progress
snapshots, every result and error path before ToolResultEvent, and again
after the handlers run.
2026-09-26 19:12:16 +02:00
EugeneTes
76e0f8c0e2 feat(processes): make the host process non-dumpable on Linux
HostProcessHardening calls prctl(PR_SET_DUMPABLE, 0) through LibraryImport, once per process, from the ProcessSpawnPolicy constructor, and warns when DOTNET_EnableDiagnostics is not 0. Test projects consume the one-shot call with the flag off in a module initializer. A HardeningProbe helper backs a Linux-only /proc integration test.
2026-09-26 19:09:45 +02:00
EugeneTes
0000266ead feat(processes): process spawn contract and default policy
Add the Abstractions spawn contract (ProcessPurpose, ProcessSpawnRequest,
ProcessSpawnContext, ProcessSpawnHook, IProcessSpawnPolicy, ProcessSpawnEvent),
ProcessEnvironmentOptions with DefaultDeny and Validate, EnvironmentFilter,
ProcessSpawnPolicy, AgenticCoreOptions.ProcessEnvironment and the
TryAddSingleton registration in AddAgenticCore.

Spec: section 2 says Deny/Allow match case-insensitively and names Validate,
DefaultDeny and MinimumSecretLength; section 3 describes the factory
registration and that the constructor throws on validation errors.
2026-09-26 19:07:33 +02:00
EugeneTes
399762669e feat(agent): session time zone contract
Adds AgentSessionOptions.TimeZone, AgenticCoreOptions.DefaultTimeZone, AgentSession.TimeZone, IExtensionHost.TimeZone, IExtensionContext.TimeZone (default member returning TimeZoneInfo.Local) and TimeZoneIds.ToIana, ahead of the rest of scheduler spec section 8. Spec sentences added to process-environment-hook section 4 and scheduler section 8.
2026-09-26 19:05:45 +02:00
EugeneTes
f3590cecd2 docs(plan): process-environment-hook implementation plan 2026-09-26 19:03:38 +02:00
EugeneTes
e169124de1 Merge branch 'main' of https://gitea.tes.gd/admin/VolcanicAgenticCore 2026-09-26 18:42:12 +02:00
EugeneTes
0922a4abb0 chore: decline release notes for this project 2026-09-26 16:32:23 +00:00
EugeneTes
fe692844a1 docs(spec): designs for VolcanicSecretary feature parity
Seven draft specs: scheduler (reminders, scheduled prompts, watcher
scripts, per-chat time zones), Telegram attachments (files, voice
transcription, send tool, IChatChannel), Telegram message context
(reply/forward headers, 600 ms grouping, timestamps, reactions, online
notice), MCP client with a Playwright preset, per-chat Google Calendar,
process environment hook (secret scrubbing, redaction, non-dumpable
host) and Docker/Coolify deployment.
2026-09-26 16:03:47 +00:00
EugeneTes
13b0965d63 docs: CLAUDE.md with project overview, commands and architecture 2026-09-26 08:33:46 +00:00
EugeneTes
ddbed79e45 Merge branch 'main' of https://gitea.tes.gd/admin/VolcanicAgenticCore 2026-09-25 20:27:52 +02:00
EugeneTes
6e89acf348 docs(spec): match the re-login spec to the implementation 2026-09-25 17:58:27 +00:00
EugeneTes
d20385153b docs: the owner's pending login prompt, one-message link, joined logins and stale expiries 2026-09-25 17:57:58 +00:00
EugeneTes
f2027c9fde test(telegram): an expired session in another chat is logged in from the owner chat and resumes 2026-09-25 17:57:41 +00:00
EugeneTes
bbece220c8 fix(claude-code): /claude-code-login reports the outcome of a login it joined 2026-09-25 17:54:20 +00:00
EugeneTes
f620b33771 fix(claude-code): send the login link and the code question as one message 2026-09-25 17:53:14 +00:00
EugeneTes
fb7be219e5 fix(claude-code): a late expiry after a completed login replays without a second login 2026-09-25 17:52:21 +00:00
EugeneTes
7ed521f6a6 fix(telegram): a photo never answers a pending input question 2026-09-25 17:49:55 +00:00
EugeneTes
df0a518b97 feat(telegram): send Claude Code login links to the bot owner 2026-09-25 17:45:11 +00:00
EugeneTes
1aa9197d9c feat(claude-code): /claude-code-login command 2026-09-25 17:38:39 +00:00
EugeneTes
d43fa52e4a fix(claude-code): bound the login flow and cover the held-Start path 2026-09-25 17:32:41 +00:00
EugeneTes
c7edc1d802 docs(spec): login timeouts and owner-unreachable wording 2026-09-25 17:28:38 +00:00
EugeneTes
f90bf862f4 feat(claude-code): pause an expired request, log in through the host UI and replay it 2026-09-25 17:25:43 +00:00
EugeneTes
521d391527 feat(claude-code): single-flight login coordinator 2026-09-25 17:11:15 +00:00
EugeneTes
aa859a0dcf feat(claude-code): headless claude auth login driver 2026-09-25 17:03:42 +00:00
EugeneTes
0c972480a8 feat(claude-code): classify an expired subscription session as login-required auth failure 2026-09-25 16:55:37 +00:00
EugeneTes
61743d8e3a docs(plan): Claude Code re-login implementation plan 2026-09-25 16:51:28 +00:00
EugeneTes
ec97f50fdd docs(spec): Claude Code re-login through the host UI 2026-09-25 16:48:33 +00:00
EugeneTes
17ce025c57 feat(prompt): PERSONA.md and MEMORY.md in the system prompt; AGENTS.md or CLAUDE.md, not both 2026-09-25 16:36:49 +00:00
EugeneTes
16a5b83076 Merge branch 'main' of https://gitea.tes.gd/admin/VolcanicAgenticCore 2026-09-25 18:15:54 +02:00
EugeneTes
b85b61677e fix(telegram): send answers complete instead of streaming; working message no longer lingers 2026-09-25 16:08:34 +00:00
EugeneTes
8463da15e6 Merge branch 'main' of https://gitea.tes.gd/admin/VolcanicAgenticCore 2026-09-25 17:47:47 +02:00
EugeneTes
bb8c3f43aa feat(telegram): working status message with the last five tool calls 2026-09-25 15:09:43 +00:00
EugeneTes
7da203f368 Merge branch 'main' of https://gitea.tes.gd/admin/VolcanicAgenticCore 2026-09-25 16:44:05 +02:00
EugeneTes
8da9789afc headless run 2026-09-25 16:43:57 +02:00
EugeneTes
7474cb9620 chore: decline release notes for this project 2026-09-25 14:43:28 +00:00
EugeneTes
308e1fbf8e feat(telegram): telegram bot host with connection recovery 2026-09-25 14:42:12 +00:00
EugeneTes
2321906719 feat(claude-code): pinned claude-opus-5-5 model 2026-09-25 14:42:12 +00:00
EugeneTes
8a97a9890f docs: telegram host design 2026-09-25 14:29:32 +00:00
VolcanicAgenticCore
692992bb35 fix(abstractions): session events serialise to JSON (Partial no longer required) 2026-09-25 13:17:11 +00:00
EugeneTes
f9403aed77 feat(claude-code): provider extension and mcp proposal bridge 2026-09-25 13:14:58 +00:00
VolcanicAgenticCore
b66dd52cfc feat(anthropic): current model catalogue with adaptive thinking and summarized display 2026-09-25 12:49:35 +00:00
EugeneTes
3c0b84b392 feat(anthropic): messages api provider extension 2026-09-25 12:46:29 +00:00
EugeneTes
89623e14c2 feat(openai): chat completions provider extension
Streams POST {baseUrl}/chat/completions over SSE (System.Net.ServerSentEvents, no NuGet) and maps delta.content, delta.reasoning_content / delta.reasoning and delta.tool_calls onto AssistantMessageEvents via AssistantMessageBuilder. Configurable through OpenAIProviderOptions so one extension serves OpenAI, OpenRouter, Ollama and other compatible servers; ships the gpt-5 / gpt-5-mini / gpt-4.1 catalogue.
2026-09-25 12:45:43 +00:00
VolcanicAgenticCore
f25318a803 chore: ignore .claude local state 2026-09-25 12:37:48 +00:00
VolcanicAgenticCore
424027cf86 test: end-to-end bash round trip; docs: record spec deviations 2026-09-25 12:37:06 +00:00