Skip to content

Commit 8190530

Browse files
Merge pull request #210 from Clawdlinux/feat/live-poc
Trim redundant tests and align issue triage
2 parents f57148d + 41eba80 commit 8190530

10 files changed

Lines changed: 12 additions & 425 deletions

‎.github/ISSUE_TEMPLATE/oss_feature.yml‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ description: Request an open-source feature for agentic-operator-core.
33
title: "[OSS] "
44
labels:
55
- enhancement
6-
- oss
76
body:
87
- type: textarea
98
id: problem

‎.github/PULL_REQUEST_TEMPLATE.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,4 @@
2727

2828
## Related issues
2929

30-
<!-- Fixes #123, Relates to #456 -->
30+
<!-- Use Fixes #123 only when all acceptance criteria are met. Use Refs #123 for partial progress. -->

‎CONTRIBUTING.md‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ If your change touches Python runtime code under `agents/`, run `make test-pytho
6666
## Pull Request Guidelines
6767

6868
- Use a clear title and summary of behavior changes.
69-
- Link the related issue (`Fixes #123`).
69+
- Use closing keywords (`Fixes`, `Closes`, `Resolves`) only when the PR satisfies the issue's full acceptance criteria.
70+
- Use `Refs #123` or `Relates to #123` for partial progress.
7071
- Include test evidence (commands and outcomes).
7172
- Avoid unrelated refactors in the same PR.
7273
- Keep reconciliation behavior idempotent.
@@ -81,6 +82,9 @@ If your change touches Python runtime code under `agents/`, run `make test-pytho
8182

8283
- Use the bug template for defects.
8384
- Use the feature template for enhancement requests.
85+
- Templates apply `bug` or `enhancement` automatically.
86+
- Priorities reflect current phase blockers. Age alone does not determine priority.
87+
- Deferred work closes as not planned, with a scope explanation and a condition for revisiting it.
8488
- Provide reproduction steps and expected behavior.
8589

8690
## Security
@@ -92,5 +96,7 @@ If your change touches Python runtime code under `agents/`, run `make test-pytho
9296

9397
This repository is the open-source core.
9498

95-
- Include: CRD lifecycle, orchestration, isolation, generic runtime patterns.
99+
- Include: runtime-agnostic governance, workload contracts, runtime adapters, pod isolation, declared egress, and offline-verifiable evidence.
100+
- Supported adapters include Argo, BYO pods, and kagent.
101+
- Generic registries, routing, sidecar buses, and multi-cluster features need a concrete regulated deployment requirement.
96102
- Exclude: proprietary licensing, billing, and private enterprise overlays.

‎agents/tests/test_state.py‎

Lines changed: 0 additions & 108 deletions
This file was deleted.

‎agents/tests/test_workflow.py‎

Lines changed: 0 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -152,30 +152,6 @@ async def test_synthesis_agent_report(sample_state):
152152
print("✅ Report synthesis successful")
153153

154154

155-
def test_workflow_state_structure():
156-
"""Test that state structure matches expectations"""
157-
state: AgentWorkflowState = {
158-
"job_id": "test",
159-
"target_urls": ["https://example.com"],
160-
"status": "running",
161-
"raw_html": {},
162-
"screenshots": {},
163-
"dom_structures": {},
164-
"visual_insights": [],
165-
"competitive_signals": [],
166-
"report_content": None,
167-
"error": None,
168-
"start_time": None,
169-
"end_time": None,
170-
"messages": [],
171-
}
172-
173-
assert state["job_id"] == "test"
174-
assert isinstance(state["target_urls"], list)
175-
assert isinstance(state["raw_html"], dict)
176-
print("✅ State structure valid")
177-
178-
179155
@pytest.mark.asyncio
180156
@pytest.mark.xfail(
181157
reason="LangGraph >=1.0 enforces single-value-per-step on non-Annotated keys; "
@@ -220,26 +196,3 @@ async def test_full_workflow_execution(sample_state):
220196
assert result["report_content"] is not None
221197

222198
print("✅ Full workflow execution successful")
223-
224-
225-
def test_error_handling():
226-
"""Test error handling in workflow"""
227-
state: AgentWorkflowState = {
228-
"job_id": "error-test",
229-
"target_urls": [], # Empty list
230-
"status": "running",
231-
"raw_html": {},
232-
"screenshots": {},
233-
"dom_structures": {},
234-
"visual_insights": [],
235-
"competitive_signals": [],
236-
"report_content": None,
237-
"error": None,
238-
"start_time": None,
239-
"end_time": None,
240-
"messages": [],
241-
}
242-
243-
# Should handle empty URL list gracefully
244-
assert len(state["target_urls"]) == 0
245-
print("✅ Error handling tested")

‎api/v1alpha1/agentworkload_compatibility_test.go‎

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -335,20 +335,6 @@ func TestAgentWorkloadCompatibility_CRDObjectiveLength(t *testing.T) {
335335
}
336336
}
337337

338-
func TestAgentWorkloadCompatibility_WebhookAcceptsBoundedContextObjective(t *testing.T) {
339-
objective := strings.Repeat("a", 4096)
340-
workload := &AgentWorkload{
341-
Spec: AgentWorkloadSpec{
342-
Objective: &objective,
343-
Agents: []string{"agent1"},
344-
},
345-
}
346-
347-
if err := workload.ValidateCreate(); err != nil {
348-
t.Fatalf("4 KiB objective allowed by the CRD must pass webhook validation: %v", err)
349-
}
350-
}
351-
352338
func TestAgentWorkloadCompatibility_CRDAndWebhookAgreeOnMultibyteObjective(t *testing.T) {
353339
objective := strings.Repeat("é", 32768)
354340
workload := &AgentWorkload{

‎api/v1alpha1/agentworkload_webhook_test.go‎

Lines changed: 0 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -132,42 +132,6 @@ func TestWebhook_RejectEmptyAgents(t *testing.T) {
132132
}
133133
}
134134

135-
func TestWebhook_RejectObjectiveTooLong(t *testing.T) {
136-
longObjective := strings.Repeat("a", 32769)
137-
138-
workload := &AgentWorkload{
139-
Spec: AgentWorkloadSpec{
140-
WorkloadType: stringPtr("generic"),
141-
MCPServerEndpoint: stringPtr("https://localhost:8000"),
142-
Objective: &longObjective,
143-
Agents: []string{"agent1"},
144-
},
145-
}
146-
147-
err := workload.ValidateCreate()
148-
if err == nil {
149-
t.Error("Expected validation error for objective > 32768 characters, got nil")
150-
} else {
151-
t.Logf("Correctly rejected: %v", err)
152-
}
153-
}
154-
155-
func TestWebhook_AcceptsObjectiveAtLimit(t *testing.T) {
156-
objective := strings.Repeat("a", 32768)
157-
workload := &AgentWorkload{
158-
Spec: AgentWorkloadSpec{
159-
WorkloadType: stringPtr("generic"),
160-
MCPServerEndpoint: stringPtr("https://localhost:8000"),
161-
Objective: &objective,
162-
Agents: []string{"agent1"},
163-
},
164-
}
165-
166-
if err := workload.ValidateCreate(); err != nil {
167-
t.Fatalf("objective at 32768-character limit was rejected: %v", err)
168-
}
169-
}
170-
171135
func TestWebhook_ObjectiveLimitCountsUnicodeCharacters(t *testing.T) {
172136
objective := strings.Repeat("é", 32768)
173137
workload := &AgentWorkload{
@@ -210,50 +174,6 @@ func TestWebhook_AcceptAllWorkloadTypes(t *testing.T) {
210174
t.Log("✅ All workload types accepted")
211175
}
212176

213-
func TestWebhook_DefaultAutoApproveThreshold(t *testing.T) {
214-
workload := &AgentWorkload{
215-
Spec: AgentWorkloadSpec{
216-
WorkloadType: stringPtr("generic"),
217-
MCPServerEndpoint: stringPtr("https://localhost:8000"),
218-
Objective: stringPtr("test objective"),
219-
Agents: []string{"agent1"},
220-
// No AutoApproveThreshold specified
221-
},
222-
}
223-
224-
workload.Default()
225-
226-
if workload.Spec.AutoApproveThreshold == nil {
227-
t.Error("Expected Default() to set AutoApproveThreshold")
228-
} else if *workload.Spec.AutoApproveThreshold != "0.95" {
229-
t.Errorf("Expected default threshold 0.95, got %q", *workload.Spec.AutoApproveThreshold)
230-
} else {
231-
t.Log("✅ Default AutoApproveThreshold set correctly")
232-
}
233-
}
234-
235-
func TestWebhook_DefaultOPAPolicy(t *testing.T) {
236-
workload := &AgentWorkload{
237-
Spec: AgentWorkloadSpec{
238-
WorkloadType: stringPtr("generic"),
239-
MCPServerEndpoint: stringPtr("https://localhost:8000"),
240-
Objective: stringPtr("test objective"),
241-
Agents: []string{"agent1"},
242-
// No OPAPolicy specified
243-
},
244-
}
245-
246-
workload.Default()
247-
248-
if workload.Spec.OPAPolicy == nil {
249-
t.Error("Expected Default() to set OPAPolicy")
250-
} else if *workload.Spec.OPAPolicy != "strict" {
251-
t.Errorf("Expected default policy 'strict', got %q", *workload.Spec.OPAPolicy)
252-
} else {
253-
t.Log("✅ Default OPAPolicy set correctly")
254-
}
255-
}
256-
257177
func TestValidateThreshold(t *testing.T) {
258178
testCases := []struct {
259179
threshold string

0 commit comments

Comments
 (0)