Skip to content

Commit 4d77c23

Browse files
authored
Merge branch 'main' into feature/ITEP-77648-mesh-creation-UI-test
2 parents 6574963 + 7fa6208 commit 4d77c23

File tree

408 files changed

+15392
-3131
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

408 files changed

+15392
-3131
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ name: 🐞 Bug Report
33
about: Report a bug to help us improve the project
44
title: "[Bug] <short description>"
55
labels: bug
6+
type: "Bug"
67
assignees: ""
78
---
89

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ name: ✨ Feature Request
33
about: Suggest an idea or improvement for this project
44
title: "[Feature Request] <short description>"
55
labels: feature
6+
type: "Feature"
67
assignees: ""
78
---
89

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
# SPDX-FileCopyrightText: (C) 2026 Intel Corporation
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
name: "Setup Cache Targets"
6+
description: "Setup environment variables for caching image layers"
7+
outputs:
8+
cache_registry:
9+
description: "The cache registry path"
10+
value: ${{ steps.cache.outputs.CACHE_REGISTRY }}
11+
cache_tag:
12+
description: "The cache tag"
13+
value: ${{ steps.cache.outputs.CACHE_TAG }}
14+
github_actions_cache:
15+
description: "Whether GitHub Actions cache is enabled"
16+
value: ${{ steps.cache.outputs.GITHUB_ACTIONS_CACHE }}
17+
runs:
18+
using: "composite"
19+
steps:
20+
- name: Setup Cache Targets
21+
id: cache
22+
shell: bash
23+
env:
24+
TAG_BASE: ${{ github.head_ref || github.ref_name }}
25+
run: |
26+
CACHE_TAG=$(echo "$TAG_BASE" | tr '/' '_' | tr '-' '_')
27+
echo "CACHE_REGISTRY=${{ github.repository }}" >> "$GITHUB_OUTPUT"
28+
echo "CACHE_TAG=${CACHE_TAG}" >> "$GITHUB_OUTPUT"
29+
echo "GITHUB_ACTIONS_CACHE=true" >> "$GITHUB_OUTPUT"

.github/actions/upload-artifacts/action.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ runs:
2020
exit 0
2121
2222
- name: Upload Test Reports
23-
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
23+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
2424
with:
2525
name: test-reports-${{ github.job }}
2626
path: |
2727
tests/**/test_reports/**/*.html
2828
tests/**/test_reports/**/*.xml
2929
3030
- name: Upload Test Logs
31-
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
31+
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
3232
with:
3333
name: test-logs-${{ github.job }}
3434
path: |

.github/copilot-instructions.md

Lines changed: 90 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,56 @@ Intel® SceneScape is a microservice-based spatial awareness framework for multi
44

55
**Current Version**: Read from `version.txt` at repository root
66

7-
## Language-Specific Instructions
7+
## Licensing Requirements (Critical - All Files)
88

9-
For detailed language-specific guidance, refer to `.github/instructions/<language>.md`:
9+
**CRITICAL - All files must include:**
1010

11-
- **Python**: `.github/instructions/python.md` - Python coding standards, patterns, and best practices
12-
- **CRITICAL**: Use 2 spaces for indentation (never 4 spaces or tabs)
13-
- **JavaScript**: `.github/instructions/javascript.md` - Frontend development conventions
14-
- **Shell**: `.github/instructions/shell.md` - Bash scripting guidelines
15-
- **Makefile**: `.github/instructions/makefile.md` - Build system conventions
11+
- SPDX license header: `SPDX-License-Identifier: Apache-2.0`
12+
- Copyright line: `(C) <YEAR> Intel Corporation` (use current year for new files)
13+
- Example:
14+
```python
15+
# SPDX-FileCopyrightText: (C) 2026 Intel Corporation
16+
# SPDX-License-Identifier: Apache-2.0
17+
```
18+
- **Enforcement**: REUSE compliance checking in CI
19+
- Add to new files: `make add-licensing FILE=<filename>`
20+
21+
## Language-Specific Skills (Load On-Demand)
22+
23+
Consult these based on the code you're working with:
24+
25+
- **Python** (`.github/skills/python.md`): Coding standards, imports, patterns
26+
- **CRITICAL**: 2 spaces for indentation (checked by `make indent-check`)
27+
- **JavaScript** (`.github/skills/javascript.md`): Frontend conventions
28+
- **Shell** (`.github/skills/shell.md`): Bash scripting guidelines
29+
- **Makefile** (`.github/skills/makefile.md`): Build system conventions
30+
- **Testing** (`.github/skills/testing.md`): Test creation frameworks
31+
32+
### Skills Caching Strategy
33+
34+
Skills are loaded on-demand based on task context to optimize token usage:
35+
36+
**Pre-Cached (Always Available)**:
37+
38+
- `copilot-instructions.md` (this file, always loaded)
39+
- `python.md` (high frequency, pre-cached)
40+
- `documentation-how.md` (high frequency, pre-cached)
1641

17-
Always consult the appropriate language-specific file when working with code in that language.
42+
**Loaded Automatically on Demand**:
1843

19-
**Python Indentation Rule**: All Python code MUST use 2 spaces for indentation. This is enforced by `make indent-check` and is a hard requirement across the entire codebase.
44+
- `testing.md` - Loaded when task involves tests or `test` keyword detected
45+
- `javascript.md` - Loaded when `.js` files are being edited
46+
- `shell.md` - Loaded when `.sh` files are being edited
47+
- `makefile.md` - Loaded when Makefile or build system changes
48+
49+
Skills are detected and loaded based on file type, task keywords, and context signals. Explicitly request a skill if the auto-detection doesn't load it.
50+
51+
### Instruction Placement Policy (Critical)
52+
53+
- Prefer skill files under `.github/skills/` for detailed procedural rules.
54+
- Keep this file focused on high-level routing and references to canonical skill documents.
55+
- Avoid duplicating policy/checklist text across this file and skills.
56+
- If overlap is found, retain one canonical source and replace duplicates with a short pointer.
2057

2158
## Architecture Overview
2259

@@ -66,7 +103,7 @@ make rebuild-core # Clean + build (useful after code changes)
66103

67104
## Testing Framework
68105

69-
**For comprehensive test creation guidance, see `.github/instructions/testing.md`** - detailed instructions on creating unit, functional, integration, UI, and smoke tests with both positive and negative cases.
106+
**For comprehensive test creation guidance, see `.github/skills/testing.md`** - detailed instructions on creating unit, functional, integration, UI, and smoke tests with both positive and negative cases.
70107

71108
**Running Tests** (must have containers running via docker-compose):
72109

@@ -77,6 +114,20 @@ make -C tests unit-tests # Unit tests only
77114
make -C tests geometry-unit # Specific test (e.g., geometry)
78115
```
79116

117+
### Completion Gate For Test Tasks (Critical)
118+
119+
For runtime test verification requirements, use
120+
`.github/skills/test-verification-gate.md`.
121+
122+
### Containerized Test Image Freshness Gate (Critical)
123+
124+
Use `.github/skills/test-verification-gate.md` as the single source of truth
125+
for image freshness checks, rebuild-before-test requirements, and retry policy
126+
for containerized test targets.
127+
128+
Service-specific examples belong in each service guide (for controller, see
129+
`controller/Agents.md`).
130+
80131
## Code Patterns & Conventions
81132

82133
**Python Packaging**:
@@ -167,9 +218,36 @@ pubsub.publish(topic, json_payload)
167218
- **`manager/secrets/`**: TLS certificates, auth tokens (never committed; generated per build)
168219
- **`tests/Makefile`** and **`tests/Makefile.sscape`**: Test orchestration with Zephyr ID tracking
169220

170-
## Documentation Requirements
221+
## Documentation Requirements (Always-On)
171222

172-
**ALWAYS read `.github/instructions/documentation.md` before making any code changes.** This file contains comprehensive documentation requirements and update procedures that must be followed for every agent request.
223+
### WHEN to Update Documentation
224+
225+
**Update documentation IMMEDIATELY when making ANY of these changes:**
226+
227+
- Adding new features, services, models, or options
228+
- Modifying APIs, endpoints, or request/response formats
229+
- Changing build targets, Makefile commands, or deployment procedures
230+
- Adding or removing configuration options or environment variables
231+
- Updating dependencies or system requirements
232+
- Changing default behaviors or conventions
233+
234+
### HOW to Update Documentation
235+
236+
**For detailed procedures, see `.github/skills/documentation-how.md`.**
237+
238+
This skill contains:
239+
240+
- Service-specific documentation locations (overview, build guides, API specs)
241+
- Detailed update checklist per component
242+
- Examples and patterns for each service type
243+
- Cross-service documentation guidelines
244+
245+
**Quick reference - Key locations:**
246+
247+
- `docs/user-guide/microservices/<service>/<service>.md` - Features and API endpoints
248+
- `docs/user-guide/microservices/<service>/get-started/build-from-source.md` - Build instructions
249+
- `<service>/README.md` - Quick start
250+
- `docs/user-guide/` - Cross-service documentation
173251

174252
## Quick Reference: New Service Checklist
175253

@@ -183,17 +261,3 @@ When adding a new microservice:
183261
6. Create tests in `tests/sscape_tests/<service>/` with conftest.py fixtures
184262
7. Add test-build target in service Makefile
185263
8. **Update ALL relevant documentation** (overview, build guide, API docs, examples)
186-
187-
## Licensing Requirements
188-
189-
**All files must include:**
190-
191-
- SPDX license headers: `SPDX-License-Identifier: Apache-2.0`
192-
- Copyright: Use current year `(C) <YEAR> Intel Corporation` (e.g., `(C) 2025 Intel Corporation` for files created in 2025)
193-
- **Enforcement**: REUSE compliance checking in CI
194-
195-
**Add license to new files:**
196-
197-
```bash
198-
make add-licensing FILE=<filename>
199-
```

.github/dependabot.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ updates:
4848
- "/controller/src/robot_vision"
4949
- "/mapping"
5050
- "/tracker"
51+
- "/tracker/test/load"
5152
schedule:
5253
interval: "monthly"
5354
commit-message:
@@ -70,6 +71,7 @@ updates:
7071
- "/tests/perf_tests/compose"
7172
- "/tools/ppl_runner"
7273
- "/tracker/test/service"
74+
- "/tracker/test/load"
7375
schedule:
7476
interval: "monthly"
7577
commit-message:
@@ -94,6 +96,7 @@ updates:
9496
- "/mapping"
9597
- "/mapping/tests"
9698
- "/tracker/test/service"
99+
- "/tracker/test/load"
97100
schedule:
98101
interval: "monthly"
99102
commit-message:

.github/instructions/documentation.md

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

.github/prompts/reflect.prompt.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
agent: agent
3+
description: "Reflect on this conversation and suggest instruction updates"
4+
---
5+
6+
# Self-Reflection Task
7+
8+
## Instruction Placement Rule (Critical)
9+
10+
Before proposing documentation changes, apply this hierarchy:
11+
12+
1. Put detailed procedural policy in the most specific skill file under `.github/skills/`.
13+
2. Keep `.github/copilot-instructions.md` as orchestration/entry-point guidance with pointers to skill files.
14+
3. Keep `Agents.md` files service-specific with concrete examples and commands, not duplicated global policy text.
15+
4. Do not duplicate the same checklist/policy text across global instructions and skill files.
16+
5. If overlap is unavoidable, keep one canonical source and replace duplicates with short references.
17+
18+
6. Review the entire conversation history.
19+
7. Identify patterns where I had to correct you or clarify my intent.
20+
8. Suggest specific additions or modifications to the `.github/copilot-instructions.md`, files under `.github/skills` directory, `Agents.md` in each service directory and other relevant documentation to prevent these issues in the future.
21+
9. Recommend any new 'Agent Skills', tools or prompts that would have made this task easier.
22+
10. Provide the output as a set of actionable diffs or markdown blocks.
23+
11. Explicitly identify any missed instruction and classify the root cause as:
24+
- discovery failure
25+
- execution failure
26+
- verification failure
27+
12. For test-related tasks, always include:
28+
- the Makefile target that should have been run
29+
- whether it was actually run
30+
- the exact command and pass/fail summary (or the blocker)

.github/renovate.json5

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
// SPDX-FileCopyrightText: (C) 2026 Intel Corporation
2+
// # SPDX-License-Identifier: Apache-2.0
3+
4+
{
5+
$schema: "https://docs.renovatebot.com/renovate-schema.json",
6+
extends: ["config:base"],
7+
description: "Renovate configuration for Tracker Service Conan C++ dependencies",
8+
enabledManagers: ["conan"],
9+
labels: ["dependencies", "renovate", "tracker"],
10+
schedule: ["before 10am on the first day of the month"],
11+
timezone: "UTC",
12+
reviewers: ["saratpoluri", "dmytroye", "tdorauintc", "ltalarcz"],
13+
packageRules: [
14+
{
15+
description: "Conan dependencies - group patch updates (including security fixes)",
16+
matchManagers: ["conan"],
17+
matchUpdateTypes: ["patch"],
18+
groupName: "tracker conan patch updates",
19+
prPriority: 15,
20+
automerge: false,
21+
},
22+
{
23+
description: "Conan dependencies - group minor updates",
24+
matchManagers: ["conan"],
25+
matchUpdateTypes: ["minor"],
26+
groupName: "tracker conan minor updates",
27+
},
28+
{
29+
description: "Conan dependencies - handle major updates individually",
30+
matchManagers: ["conan"],
31+
matchUpdateTypes: ["major"],
32+
groupName: null,
33+
labels: ["dependencies", "major-update", "tracker"],
34+
},
35+
{
36+
description: "OpenCV updates - needs careful testing",
37+
matchPackageNames: ["opencv"],
38+
matchManagers: ["conan"],
39+
labels: ["dependencies", "opencv", "needs-testing", "tracker"],
40+
prPriority: 10,
41+
commitMessagePrefix: "Tracker:",
42+
commitMessageTopic: "OpenCV",
43+
},
44+
],
45+
conan: {
46+
enabled: true,
47+
fileMatch: ["tracker/conanfile.txt$"],
48+
},
49+
prConcurrentLimit: 5,
50+
prHourlyLimit: 2,
51+
commitMessagePrefix: "Tracker Conan:",
52+
semanticCommits: "enabled",
53+
platformAutomerge: false,
54+
rebaseWhen: "behind-base-branch",
55+
separateMajorMinor: true,
56+
separateMinorPatch: false,
57+
rangeStrategy: "pin",
58+
vulnerabilityAlerts: {
59+
enabled: true,
60+
labels: ["security", "tracker"],
61+
},
62+
osvVulnerabilityAlerts: true,
63+
}

.github/resources/coverity-requirements.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# SPDX-License-Identifier: Apache-2.0
33
# This file is licensed under Apache 2.0 License.
44

5-
pip == 26.0
5+
pip == 26.0.1
66
setuptools >= 78.1.1
7-
wheel == 0.46.2
8-
pybind11 == 3.0.2
7+
wheel == 0.46.3
8+
pybind11 == 3.0.3

0 commit comments

Comments
 (0)