Skip to content

Commit cb0668a

Browse files
committed
initial
0 parents  commit cb0668a

6 files changed

Lines changed: 241 additions & 0 deletions

File tree

.github/dependabot.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# ============================================================
2+
# .github/dependabot.yml (Check for GitHub Actions updates)
3+
# ============================================================
4+
# SOURCE: https://github.com/denisecase/templates
5+
#
6+
# REQ.PROJECT: This repository SHOULD track GitHub Actions updates automatically.
7+
# WHY-FILE: GitHub Actions are executable dependencies and may receive security or behavior updates.
8+
# OBS: Language-level dependencies (e.g., Python packages) are upgraded manually.
9+
# OBS: GitHub Actions are the only dependency class automated here.
10+
# ALT: Dependabot could be omitted if workflows are pinned and reviewed manually.
11+
# CUSTOM: Update interval if CI cadence or security posture changes.
12+
13+
# NOTE: This file automatically updates the versions used in Actions workflows.
14+
# You don't need to modify this file.
15+
# To disable: Delete this file or set enabled: false below.
16+
# enabled: false # Uncomment to disable Dependabot
17+
18+
version: 2 # Dependabot configuration version
19+
20+
updates:
21+
- package-ecosystem: "github-actions" # Dependency type
22+
directory: "/" # Location of GitHub Actions workflows
23+
schedule:
24+
interval: "monthly" # ALT: Use "weekly" for higher security when needed
25+
commit-message:
26+
prefix: "(deps)" # WHY: enable filtering by commit type

.github/workflows/ci.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# ============================================================
2+
# .github/workflows/ci.yml (Continuous Integration)
3+
# ============================================================
4+
#
5+
# WHY-FILE: Validate repository hygiene, python, and documentation builds.
6+
# REQ: CI MUST NOT introduce arbitrary rules that are not reproducible locally.
7+
# OBS: CI validates only; it should not edit files or deploy docs.
8+
9+
name: CI
10+
11+
# WHY: Validate on PRs and pushes.
12+
# OBS: This workflow validates only.
13+
14+
on:
15+
push:
16+
branches: [main] # WHY: Run when pushing to main branch.
17+
pull_request:
18+
branches: [main] # WHY: Run on pull requests targeting main branch.
19+
workflow_dispatch: # WHY: Allow manual triggering from Actions tab.
20+
21+
permissions: # WHY: Use least privileges required.
22+
contents: read
23+
24+
env:
25+
PYTHONUNBUFFERED: "1" # WHY: Real-time logging.
26+
PYTHONIOENCODING: "utf-8" # WHY: Ensure UTF-8 encoding for international characters.
27+
28+
jobs:
29+
ci:
30+
name: CI
31+
runs-on: ubuntu-latest # WHY: Linux environment is standard for CI.
32+
timeout-minutes: 10 # WHY: Prevent hanging jobs; markdown lint completes well under this.
33+
34+
steps:
35+
# ============================================================
36+
# ASSEMBLE: Get code
37+
# ============================================================
38+
39+
- name: A1) Checkout repository code
40+
# WHY: Needed to access files for checks.
41+
uses: actions/checkout@v6
42+
43+
# ============================================================
44+
# BASIC CHECKS: Markdown
45+
# ============================================================
46+
47+
- name: B1) Lint markdown files
48+
# WHY: Enforce consistent formatting in normative schema docs and README.
49+
uses: DavidAnson/markdownlint-cli2-action@v23
50+
with:
51+
globs: "**/*.md"
52+
53+
- name: B2) Skill check
54+
# WHY: Validate that SKILL.md is well-formed and meets criteria for agent use.
55+
uses: moonrunnerkc/skillcheck@v0.2.0
56+
with:
57+
path: SKILL.md
58+
min-desc-score: 60
59+
skip-dirname-check: true # WHY: CI clones to temp paths

.github/workflows/links.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# ============================================================
2+
# .github/workflows/links.yml (Lychee Link Checker)
3+
# ============================================================
4+
# WHY: Calls org-level link checker; maintained centrally in adaptive-interfaces/.github.
5+
6+
name: Check Links
7+
8+
on:
9+
workflow_dispatch:
10+
schedule:
11+
- cron: "0 6 2 * *"
12+
13+
permissions:
14+
contents: read
15+
issues: write
16+
17+
jobs:
18+
links:
19+
uses: adaptive-interfaces/.github/.github/workflows/links.yml@main

CITATION.cff

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# ============================================================
2+
# CITATION.cff (How to cite this project)
3+
# ============================================================
4+
5+
# REQ.UNIVERSAL: Professional open projects SHOULD include CITATION.cff.
6+
# WHY: Support correct citation and attribution.
7+
# ALT: Internal or private repositories may omit citation metadata.
8+
# CUSTOM: Update author, repository, license, and keyword fields as needed.
9+
# USAGE: See https://citation-file-format.github.io/ for details.
10+
11+
cff-version: "1.2.0"
12+
type: software
13+
14+
title: "Adaptive Sensor Testing: A Worked Example for Agent-Assisted Test Generation"
15+
date-released: "2026-04-04"
16+
17+
authors:
18+
- family-names: Case
19+
given-names: Denise M.
20+
orcid: "https://orcid.org/0000-0001-6165-7389"
21+
affiliation: "Northwest Missouri State University, USA"
22+
23+
repository-code: "https://github.com/adaptive-interfaces/adaptive-sensor-testing"
24+
url: "https://github.com/adaptive-interfaces/adaptive-sensor-testing"
25+
license: MIT
26+
27+
abstract: |
28+
A complete worked example demonstrating how to structure agent context
29+
for domain-specific engineering work.
30+
Includes a simulated PTAT temperature-frequency sensor data package,
31+
partial test suite, ATD tool registry, AO team context, and domain context file.
32+
Demonstrates agent test generation and anomaly detection
33+
using all three adaptive-interfaces priors (ACS, ATD, AO)
34+
plus a domain context document.
35+
36+
keywords:
37+
- agent engineering
38+
- sensor testing
39+
- test generation
40+
- anomaly detection
41+
- worked example
42+
- PTAT
43+
- domain context
44+
- AI-assisted development
45+
- skill specification
46+
47+
message: "If using this project, please cite it as described in this file."

MANIFEST.toml

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# ============================================================
2+
# adaptive-sensor-testing/MANIFEST.toml
3+
# ============================================================
4+
5+
schema = "adaptive-interfaces-manifest-1"
6+
schema_url = "https://github.com/adaptive-interfaces/.github/blob/main/schemas/adaptive-interfaces-manifest-1.md"
7+
8+
[meta]
9+
framework = "Adaptive Interfaces"
10+
framework_url = "https://github.com/adaptive-interfaces"
11+
framework_note = "Provides definitions and conventions for adaptive-interfaces manifest semantics."
12+
description = "Declarative claim of repository intent, scope, and role."
13+
purpose = "To make explicit the boundaries, responsibilities, and expectations of this repository relative to others."
14+
15+
[repo]
16+
name = "adaptive-sensor-testing"
17+
kind = "worked-example"
18+
description = "Complete worked example: a simulated PTAT sensor data codebase used to demonstrate agent test generation and anomaly detection using all three priors (ACS, ATD, AO) plus domain context."
19+
20+
[layer]
21+
space = "Agent Engineering"
22+
role = "worked-example"
23+
24+
[depends]
25+
required = [
26+
"adaptive-conformance-specification",
27+
"adaptive-tool-discovery",
28+
"adaptive-onboarding",
29+
"python>=3.14",
30+
"uv",
31+
]
32+
optional = [
33+
"pytest",
34+
"ruff",
35+
"pyright",
36+
]
37+
38+
[provides]
39+
artifacts = [
40+
"SKILL.md",
41+
"MANIFEST.toml",
42+
"DECISIONS.md",
43+
"CITATION.cff",
44+
"LICENSE",
45+
"README.md",
46+
"src/sensor_sim/",
47+
"tests/",
48+
"data/sample_batch.csv",
49+
".agent/ao-config.toml",
50+
".agent/ao-config-python.toml",
51+
".agent/ao-domain.toml",
52+
"tools/sensor-api.toml",
53+
"evaluation/rubric.md",
54+
"evaluation/scenarios/",
55+
]
56+
57+
[scope]
58+
includes = [
59+
"synthetic PTAT sensor data generator with injected anomalies",
60+
"sensor data processing functions for agent test generation",
61+
"partial test suite demonstrating team test conventions",
62+
"ao-domain.toml capturing PTAT behavior, expected ranges, anomaly definitions",
63+
"ATD registry for the sensor data tool surface",
64+
"evaluation scenarios: basic, drift detection, multi-sensor",
65+
"rubric for evaluating agent test generation and anomaly reporting",
66+
]
67+
excludes = [
68+
"production sensor hardware or firmware",
69+
"proprietary sensor processing pipelines",
70+
"real sensor data",
71+
"claims of physical accuracy beyond illustrative simulation",
72+
"model training or fine-tuning",
73+
]
74+
75+
[citation]
76+
cff = "CITATION.cff"
77+
preferred = "repo"
78+
79+
[traceability]
80+
identifier_map = "none"
81+
82+

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# adaptive-sensor-testing
2+
3+
[![CI Status](https://github.com/adaptive-interfaces/adaptive-sensor-testing/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/adaptive-interfaces/adaptive-sensor-testing/actions/workflows/ci.yml)
4+
[![MIT](https://img.shields.io/badge/license-see%20LICENSE-yellow.svg)](./LICENSE)
5+
[![Check Links](https://github.com/adaptive-interfaces/adaptive-sensor-testing/actions/workflows/links.yml/badge.svg?branch=main)](https://github.com/adaptive-interfaces/adaptive-sensor-testing/actions/workflows/links.yml)
6+
[![Dependabot](https://img.shields.io/badge/Dependabot-enabled-brightgreen.svg)](https://github.com/adaptive-interfaces/adaptive-sensor-testing/security)
7+
8+
> Adaptive Sensor Testing (AST)

0 commit comments

Comments
 (0)