-
Notifications
You must be signed in to change notification settings - Fork 0
chore(operations): prove external hourly scheduler continuation and error recovery #96
Copy link
Copy link
Open
Labels
area: authAuthentication, authorization, identity, or tenant isolationAuthentication, authorization, identity, or tenant isolationarea: ci-cdCI, GitHub Actions, checks, release, or supply chainCI, GitHub Actions, checks, release, or supply chainarea: dependenciesDependency or lockfile maintenanceDependency or lockfile maintenancearea: securitySecurity boundary, hardening, or vulnerability preventionSecurity boundary, hardening, or vulnerability preventionbugSomething isn't workingSomething isn't workingpriority: mediumNormal-priority or P2 workNormal-priority or P2 workscope: researchResearch, statistical validation, or scientific evidenceResearch, statistical validation, or scientific evidencestatus: triagedOpen issue has an organization taxonomy assignmentOpen issue has an organization taxonomy assignmenttype: bugDefect or incorrect behaviorDefect or incorrect behaviortype: maintenanceMaintenance, build, dependency, or operational upkeepMaintenance, build, dependency, or operational upkeep
Description
Activity
Metadata
Metadata
Assignees
Labels
area: authAuthentication, authorization, identity, or tenant isolationAuthentication, authorization, identity, or tenant isolationarea: ci-cdCI, GitHub Actions, checks, release, or supply chainCI, GitHub Actions, checks, release, or supply chainarea: dependenciesDependency or lockfile maintenanceDependency or lockfile maintenancearea: securitySecurity boundary, hardening, or vulnerability preventionSecurity boundary, hardening, or vulnerability preventionbugSomething isn't workingSomething isn't workingpriority: mediumNormal-priority or P2 workNormal-priority or P2 workscope: researchResearch, statistical validation, or scientific evidenceResearch, statistical validation, or scientific evidencestatus: triagedOpen issue has an organization taxonomy assignmentOpen issue has an organization taxonomy assignmenttype: bugDefect or incorrect behaviorDefect or incorrect behaviortype: maintenanceMaintenance, build, dependency, or operational upkeepMaintenance, build, dependency, or operational upkeep
Problem and owner boundary
Noema repository source can prove its own work-conserving/manual-dispatch contract, exact-head safeguards and fail-closed publisher behavior. It cannot by itself prove the identity, enablement, cadence, failure/recovery history or duplicate suppression of the external scheduler that invokes the commercial loop. External scheduler evidence stays access-controlled and separate from GitHub checks, formal review, protected merge, release/deployment and acquisition evidence.
This issue owns that external control-plane evidence gap. It does not duplicate the repository workflow implementation, central
.githubscheduler authority, live App/ruleset provisioning, provider routing, or Noema product-domain source.Current protected repository authority — 2026-09-18 KST
Fresh protected Noema is GitHub-verified
main@f38962869307a45b3b6e65692b2acbabb075e0eb. The only open Noema source lane is Draft #722 on exactb4563512dce9ce9084548cad29f247911949c359; it repairs private-vulnerability-reporting audit authentication and does not modify external-scheduler authority.Fresh protected read of
.github/workflows/hourly-product-development.ymlstill shows the repository workflow is manual-dispatch only (workflow_dispatch), not repository-scheduled. The protected work-conserving gate remains current: the workflow reads live open PR inventory but does not globally starve while a PR exists; it permits a new proposal only if later publication proves path isolation from every live PR and the protected base remains current. It also fails closed when contextual-orchestrator gateway configuration or the repository-scoped Maintainer App publication path is unavailable.The same workflow still routes the model session only through contextual-orchestrator (
orchestrator/free), strips GitHub/runtime credential variables before the OpenCode process, bounds changed files/diff size, and separates credential-bearing proposal/publication authority from uncredentialed verification. These are protected source contracts, not evidence that the external scheduler itself is enabled, unique, healthy or correctly scoped.Current protected
package.jsonstill exposesoperations:external-scheduler-evidence = node scripts/external-scheduler-evidence-audit.mjs, so repository-owned validation remains available without inventing a second scheduler truth.#722's current hosted wait is also useful negative evidence for scheduler semantics: application CI/reviewer/image are terminal SUCCESS on unchanged
b4563512..., while Security fan-outtrivy-fsandscorecardremain positively unassigned in the same generation. The external scheduler must not respond to such waits by blind rerun, no-op commit, force-restack or parallel duplicate writer creation.External scheduler evidence requirement
Retain the scheduler record outside public repository prose or in another approved access-controlled evidence store. Minimum bounded fields remain:
{ "schema_version": 1, "scheduler_task_identity": "provider-scoped opaque identity", "prompt_sha256": "64 lowercase hex", "scheduled_at": "ISO-8601 UTC", "started_at": "ISO-8601 UTC", "repository_full_name": "ContextualWisdomLab/noema", "protected_main_sha": "40 lowercase hex", "generic_error_observed": false, "github_actions_performed": [], "deferred_lanes": [], "exit_sweep_count": 2, "remaining_non_actionable_reasons": [] }Do not put secrets, raw tokens, private keys, hidden model reasoning, vulnerability details or unnecessary personal data in that record.
Acceptance criteria
Scheduler identity/configuration
ContextualWisdomLab/noema;.github, contextual-orchestrator and other canonical-owner repositories remain read-only dependencies except through their own owner path.Generic-error recovery
Work-conserving execution
Writer safety/authority
Non-goals
No second repository schedule, no mutable scheduler prose as architecture authority, no central
.githubsource mutation from this Noema owner, no provider routing duplication, no weakening of #27/#29 governance, and no inference that a running external task proves release/deployment/KPI/acquisition readiness.Related: #5, #27, #29, #30, #227, #722.