31 changed files with 779 additions and 2184 deletions
+20
View File
@@ -295,3 +295,23 @@ The next recommended evaluation step is to use the consolidated V0 result as
input for the unchanged Working Protocol renderer and compare that output
against the Working Protocol Synthesizer V0 baseline and the human reference
protocol.
Protocol calls accept an optional positive `protocol_num_thread` setting through
both initial processing and regeneration. With `None`, Ollama receives no
`num_thread` override and selects its own thread configuration.
Configured glossary aliases are diagnostic metadata only. Meeting Context supplies
terminology guidance; direct-protocol transcript text is never alias-substituted.
See `docs/protocol-generation-regression.md` for the frozen-input regression.
Successful protocols are retained in `protocol/generations/NNN/` with their exact
prompt, transcript input, response, model/runtime metadata and Meeting Context.
Relative compatibility symlinks resolve through `protocol/current`, which is
replaced atomically only after a complete record is written. Failed regeneration
keeps the previous protocol, diagnostics and context. Legacy regular files are
snapshotted before conversion. Publication is serialized with a local file lock.
Read `current` once when inspecting a consistent multi-file snapshot. Copy whole
run directories preserving relative symlinks. Process interruption may leave an
unreferenced record or temporary directory, never a partial current generation.
This local POSIX-filesystem contract does not promise power-loss durability or
network-filesystem transaction semantics.
+12
View File
@@ -278,3 +278,15 @@ Artefakten, Windows-Beispiel und Vergleich mit dem AI-PC stehen in
## Lizenz
Noch nicht festgelegt.
Successful protocols are retained in `protocol/generations/NNN/` with their exact
prompt, transcript input, response, model/runtime metadata and Meeting Context.
Relative compatibility symlinks resolve through `protocol/current`, which is
replaced atomically only after a complete record is written. Failed regeneration
keeps the previous protocol, diagnostics and context. Legacy regular files are
snapshotted before conversion. Publication is serialized with a local file lock.
Read `current` once when inspecting a consistent multi-file snapshot. Copy whole
run directories preserving relative symlinks. Process interruption may leave an
unreferenced record or temporary directory, never a partial current generation.
This local POSIX-filesystem contract does not promise power-loss durability or
network-filesystem transaction semantics.
+5
View File
@@ -60,3 +60,8 @@ also exceeds the budget, generation fails before model lookup or generation;
it never truncates, chunks, summarizes, retries, or makes multiple protocol
calls implicitly. Full diarization artifacts are never overwritten by this
selection.
Glossary aliases are recorded as configuration provenance, never applied as
deterministic replacements to the compact/plain protocol input. Canonical
terminology guides generation through Meeting Context. Raw Whisper and
diarization artifacts remain unchanged. `glossary_replacements` is always empty.
+25
View File
@@ -0,0 +1,25 @@
# Direct-protocol regression reproduction
The August 2026 glossary regression was isolated with frozen inputs. Condition
A used the original derived transcript; condition B differed only by these
seven deterministic substitutions:
- `Carbofool` to `Carbofol` (two occurrences)
- `Bento Fix` to `Bentofix` (two occurrences)
- `Sikirgut-Heistlöse` to `Secugrid HS` (one occurrence)
- `Lumini` to `Luminy` (two occurrences)
To repeat the manual comparison, copy the investigated run to a new temporary
directory, retain its Meeting Context and speaker mapping, and invoke
`regenerate_mvp_protocol` through the same parameters used by Meeting
Assistant. Never run the comparison in the historical run directory. Preserve
the model, `num_ctx`, `num_predict`, temperature, think setting, thread setting,
and Meeting Context. Compare the new generation's `exact_prompt.txt` and
`transcript_input.txt` with the frozen A and B artifacts before comparing model
output.
The required fixed condition is A: configured glossary aliases remain visible
in Meeting Context terminology guidance, while `transcript_input.txt` retains
the original seven source spellings. Automated tests mock the model and enforce
that invariant; this full historical experiment remains an explicit manual LLM
validation so normal tests do not depend on a local model.
+25
View File
@@ -0,0 +1,25 @@
# Meeting Assistant — First functional alpha
Version: `0.1.0a1`
Tag: `v0.1.0-alpha.1`
This paired Meeting Lab revision supports the first functional end-to-end
Meeting Assistant alpha: reusable transcription and optional diarization,
explicit speaker mapping and regeneration, German and English protocol
generation, glossary provenance without transcript mutation, configurable
protocol thread profiles, generation history with atomic publication, and the
GTM-Hub qualitative regression case.
Validated candidate revisions:
- Assistant: `b50b87c32b3941310c719f459fd45faa87658b68`
- Meeting Lab: `d2e3636b949280402728308022c99bdee6ea1066`
The immutable release revisions are the commits targeted by the paired
`v0.1.0-alpha.1` tags in the two repositories.
Accepted limitations are documented in the Assistant release notes, including
the requirement for local runtime/model/container setup, human review of
generated protocols, imperfect diarization, context limits, local POSIX
publication assumptions, and the historical ignored fixtures needed by some
old experiment tests.
+1 -1
View File
@@ -1,6 +1,6 @@
[project]
name = "meeting-lab"
version = "0.1.0"
version = "0.1.0a1"
requires-python = ">=3.11"
dependencies = [
"PyYAML>=6.0",
@@ -1,41 +0,0 @@
# Vanheede–Naue recycled-HDPE meeting — 2026-09-14
Durable private real-world regression and reference case for an English meeting between Naue and Vanheede. The source recording contains non-native English speech; the persisted source metadata does not record speakers' native languages or accents, so those descriptions are retained only as the operator context that motivated preservation.
## Case metadata
- **Case ID:** `vanheede_naue_recycled_hdpe_2026-09-14`
- **Meeting/run:** `Vanheede and Naue, Recycling and Circular Economy` / `d7189066_2026-09-14_16-00-18_Recycled_HDPE_20260915_145952`
- **Source meeting date:** 2026-09-14
- **Run completed:** 2026-09-15T14:59:52+02:00
- **Language:** English
- **Duration:** 3,433.92 s (57 m 13.92 s)
- **Participants:** Christian Psiorz, Martin Tazl, Dries Nollet, and Jorik Muylle
## Purpose and scope
This case is an evidentiary reference for English protocol generation from diarized, non-native speech. It preserves two immutable source generations:
| Variant | Source generation | Confirmed mappings in prompt | Role in this case |
| --- | --- | ---: | --- |
| `001` | `protocol/generations/001` | 0 | Tests the limits of name use from participant-list and discourse evidence. |
| `002` | `protocol/generations/002` | 4 | Primary final reference: all speaker identities are explicitly mapped. |
The compact diarized protocol input is byte-identical between the two generations. Their prompts differ because only generation 002 includes the four authoritative mappings. `speaker_identity_analysis.md` deliberately separates direct transcript support from assignments that could result merely from the participant list.
## Contents
- `transcript/source_transcript.txt`: source compact plain transcript.
- `transcript/diarized_transcript.txt`: timestamped diarized transcript.
- `transcript/protocol_input.txt`: exact compact diarized input supplied to both protocol generations.
- `context/meeting_context.yaml`: authoritative participant/context record, including the final explicit mappings.
- `protocol_generation/<NNN>/`: exact prompt, generated protocol, and runtime metadata copied verbatim from immutable source generation `<NNN>`.
- `speaker_identity_analysis.md`: conservative identity-evidence assessment.
- `evaluation.md`: regression expectations and boundaries for evaluation.
- `manifest.json`: source paths and SHA-256 provenance.
No audio, raw model response, container logs, package-install logs, or unrelated run data is copied. The audio reference and its hash are in the manifest.
## Evaluation role
The exact compact diarized protocol input is the evidence source. The mapped generation is a valuable reference protocol, but it is not a gold standard for every wording choice. Operator feedback says later human editing was primarily editorial selection rather than factual correction; that feedback is not a persisted source artifact and must not be converted into unverified factual claims or expected wording.
@@ -1,79 +0,0 @@
schema_version: '1'
meeting:
meeting_id: vanheede-and-naue-recycling-and-circular-economy
title: Vanheede and Naue, Recycling and Circular Economy
language: en
date: '2026-09-14'
objective: ''
notes: Use of recycled HDPE from Post Consumer Sources in Gemomembrane Production,
especially for Naue Carbofol.
participants:
- participant_id: participant-0c5377fb
display_name: Christian Psiorz
aliases: []
role: Sales Direcctor V1
department: naue
attendance_status: present
notes: null
- participant_id: participant-8c7d5a9d
display_name: Martin Tazl
aliases: []
role: Director R&D / Technic
department: naue
attendance_status: present
notes: null
- participant_id: participant-dddd3ddf
display_name: Dries Nollet
aliases: []
role: Sales Person
department: vanheede
attendance_status: present
notes: null
- participant_id: participant-c9280bb9
display_name: Jorik Muylle
aliases: []
role: Technical
department: vanheede
attendance_status: present
notes: null
speaker_mappings:
SPEAKER_00: participant-c9280bb9
SPEAKER_01: participant-8c7d5a9d
SPEAKER_02: participant-0c5377fb
SPEAKER_03: participant-dddd3ddf
mentioned_people: []
organization:
name: null
departments:
- id: naue
name: Naue
aliases: []
- id: vanheede
name: Vanheede
aliases: []
abbreviations: {}
known_entities:
Authoritative terminology:
- 'Bentofix (aliases: Bento Fix)'
- 'Carbofol (aliases: Carbofool, Carbovol, Karbofol)'
- 'Diekmeier (aliases: Diekmeyer, Dikmeier, Dikmeyer)'
- 'GM13 (aliases: GM 13, GM-13)'
- 'GM17 (aliases: GM 17, GM-17)'
- 'GM42 (aliases: GM 42, GM-42)'
- 'Kockmann (aliases: Cockmann, Kogmann)'
- 'Luminy (aliases: Lumini)'
- PBAT
- 'Secugrid (aliases: Sikirgut)'
- 'Secugrid HS (aliases: Sikirgut Heistlöse, Sikirgut-Heistlöse, Sikirgut-Heißlöse)'
- 'Secumat (aliases: Sekumat)'
- Secutex
context_rules:
participant_list_is_authoritative: true
do_not_infer_roles: true
do_not_infer_departments: true
do_not_infer_responsibilities: true
mentioned_people_are_not_participants: true
glossary_canonical_spelling: Use canonical glossary spellings only when the meeting
clearly refers to those terms; do not invent matches or replace unrelated words.
glossary_core_terms: Preserve surrounding context and use canonical core terms inside
compounds where appropriate.
@@ -1,27 +0,0 @@
# Regression expectations
The exact prompts and compact diarized protocol input are the evaluation evidence. Test semantic fidelity and grounded attribution; do not require a byte-identical protocol or treat editorial concision as an extraction error.
| ID | Expectation |
| --- | --- |
| R1 | The resulting protocol is clearly English. |
| R2 | The substantive discussion remains usable despite non-native English speech and the transcription imperfections visible in the evidence. |
| R3 | The four diarized clusters are not casually collapsed or conflated. |
| R4 | With the generation-002 mappings, Christian Psiorz, Martin Tazl, Dries Nollet, and Jorik Muylle remain attached to their explicit clusters. |
| R5 | An unmapped cluster may be named only where the transcript gives positive, unique conversational evidence. Generation 001 supplies strong evidence for Martin, Christian, and Dries. |
| R6 | The participant list alone must not justify a name assignment. In generation 001, the `SPEAKER_00` → Jorik Muylle assignment is not sufficiently explained by persisted evidence. |
| R7 | Where the evidence is not unique, retain anonymity or state uncertainty; do not manufacture a person identity. |
| R8 | Identity resolution must not turn an idea, question, offer, or reference into a personal responsibility. In particular, conditions around lab testing and discussion with polymer partners must retain their stated scope. |
| R9 | Preserve the material technical, regulatory, commercial, and tender context: regulatory limits on external recycled content; durability/testing constraints; technical purity/process discussion; potential certified hybrid materials; and the stated tender follow-up. |
| R10 | A human’s later editorial choice to omit information is distinct from a factual extraction error. No persisted human-edited protocol exists in this case, so this is a review rule rather than a textual golden answer. |
## Attribution-sensitive checks
- `SPEAKER_03` says that the tender will be sent; the generation-002 mapping supports Dries Nollet as the speaker. Verify the wording does not expand this to unrelated ownership.
- Martin offers lab-scale tests **if** Vanheede provides material; preserve the conditional offer rather than a committed unconditional task.
- The discussion says Jorik/Vanheede will discuss requirements with polymer partners in context, but a responsible person must be recorded only where the source explicitly assigns or accepts it.
- The protocol must distinguish current constraints from forecasts about EU standards and market changes.
## Reference outputs
`protocol_generation/002/protocol.md` is the primary mapped-speaker reference. `protocol_generation/001/protocol.md` is intentionally retained as a cautionary unmapped comparison: it is useful for content review, but its name attribution cannot be used as a target wherever the transcript does not support it.
@@ -1,150 +0,0 @@
{
"case_id": "vanheede_naue_recycled_hdpe_2026-09-14",
"privacy": "private real-world meeting sample; do not publish or redistribute outside intended development context",
"source_meeting_assistant_run": {
"path": "/opt/git-projekts/meeting-assistant/data/meetings/vanheede-and-naue-recycling-and-circular-economy/runs/d7189066_2026-09-14_16-00-18_Recycled_HDPE_20260915_145952",
"run_id": "d7189066_2026-09-14_16-00-18_Recycled_HDPE_20260915_145952",
"timestamp": "2026-09-15T14:59:52+02:00",
"meeting_id": "vanheede-and-naue-recycling-and-circular-economy",
"title": "Vanheede and Naue, Recycling and Circular Economy",
"language": "en",
"full_pipeline_run": true
},
"audio_reference": {
"source_path": "/opt/git-projekts/meeting-assistant/data/meetings/vanheede-and-naue-recycling-and-circular-economy/uploads/d7189066_2026-09-14 16-00-18 Recycled HDPE.flac",
"filename": "d7189066_2026-09-14 16-00-18 Recycled HDPE.flac",
"sha256": "750ef63cb807e47c2f0a4a9bdbff5334e46fc7e31978058daf47bd5c6153206d",
"size_bytes": 114357855,
"copied": false
},
"pipeline": {
"whisper": {
"backend": "whisper.cpp",
"model": "ggml-large-v3-turbo.bin",
"language": "en",
"threads": 6,
"flash_attention": true,
"runtime_seconds": 45.82035218599958
},
"diarization": {
"backend": "pyannote.audio",
"model": "pyannote/speaker-diarization-community-1",
"runtime": "container",
"device": "AMD Radeon RX 9070 via cuda",
"speaker_count": 4,
"speaker_labels": [
"SPEAKER_00",
"SPEAKER_01",
"SPEAKER_02",
"SPEAKER_03"
],
"turn_count": 501,
"exclusive_turn_count": 471,
"runtime_seconds": 66.73990752200007
}
},
"copied_artifacts": [
{
"case_path": "transcript/source_transcript.txt",
"source_path": "transcript/transcript.txt",
"sha256": "c3167524e96e5561fe5d91e6495454d216de8c7df780101a9bb70d2bc52ea8f2"
},
{
"case_path": "transcript/diarized_transcript.txt",
"source_path": "diarization/transcript_diarized.txt",
"sha256": "dfce25ebadb3ca3d247527d95260426953fa14acc8c60319253721ec175fbae9"
},
{
"case_path": "transcript/protocol_input.txt",
"source_path": "protocol/generations/001/transcript_input.txt and protocol/generations/002/transcript_input.txt",
"sha256": "0acab653aec6c50e35ca998ed38c3c39ac78e32aec99548c1832b15a11c8391b",
"representation": "exact compact diarized protocol input; byte-identical across generations"
},
{
"case_path": "context/meeting_context.yaml",
"source_path": "context/meeting_context.yaml",
"sha256": "0fe03f6ec3786e45094fa1e325f3fdec7a1b47c2a425d44e3f4e270074467076"
},
{
"case_path": "source_run_metadata.json",
"source_path": "run_metadata.json",
"sha256": "f5ef3f98bea8871dd7c5b7558faf2d62785bc76974cde41ca9924bc677a82382"
},
{
"case_path": "protocol_generation/001/exact_prompt.txt",
"source_path": "protocol/generations/001/exact_prompt.txt",
"sha256": "c08b561f9b1b524784eda96ada1422d1774be27da4a144bb99b6f757b42522a8"
},
{
"case_path": "protocol_generation/001/protocol.md",
"source_path": "protocol/generations/001/protocol.md",
"sha256": "3f4ba405813c6496aca1349f1337fecaa92f655e67999911bd5d50c2656a1d21"
},
{
"case_path": "protocol_generation/001/runtime_metadata.json",
"source_path": "protocol/generations/001/runtime_metadata.json",
"sha256": "b1904471bcd96662671783de16ee9dc22118c32b049806211b60536bab8a22e4"
},
{
"case_path": "protocol_generation/002/exact_prompt.txt",
"source_path": "protocol/generations/002/exact_prompt.txt",
"sha256": "49e028aeeffd44cba562160d3a120240a127f81bd74de75eddf9e482ec6cbae6"
},
{
"case_path": "protocol_generation/002/protocol.md",
"source_path": "protocol/generations/002/protocol.md",
"sha256": "8551ecd1e41aa06fdd138bdc5aeeed4ad55a77f3ec4ae5e6410dc063d9ea90fc"
},
{
"case_path": "protocol_generation/002/runtime_metadata.json",
"source_path": "protocol/generations/002/runtime_metadata.json",
"sha256": "d626828bc59f2bf291a76a21d4283b39233da37d584238e5bdda85dc91ff715a"
}
],
"protocol_generations": {
"001": {
"model": "qwen3.8:27b",
"temperature": 0,
"think": false,
"num_ctx": 32768,
"num_predict": 8192,
"num_thread": null,
"output_language": "en",
"completion_reason": "stop",
"output_token_count": 1407,
"prompt_token_count": 11665,
"speaker_mapping_count": 0
},
"002": {
"model": "qwen3.8:27b",
"temperature": 0,
"think": false,
"num_ctx": 32768,
"num_predict": 8192,
"num_thread": null,
"output_language": "en",
"completion_reason": "stop",
"output_token_count": 2304,
"prompt_token_count": 11933,
"speaker_mapping_count": 4,
"explicit_speaker_mappings": {
"SPEAKER_00": "Jorik Muylle",
"SPEAKER_01": "Martin Tazl",
"SPEAKER_02": "Christian Psiorz",
"SPEAKER_03": "Dries Nollet"
}
}
},
"exclusions": [
"audio",
"raw model responses",
"container logs",
"package-install logs",
"caches",
"unrelated runtime artifacts"
],
"operator_context": {
"claimed_subsequent_human_editing": "primarily editorial selection rather than factual correction",
"persisted_source_artifact": false
}
}
File diff suppressed because one or more lines are too long
@@ -1,37 +0,0 @@
# Meeting Protocol
## Meeting Overview
The meeting focused on exploring the feasibility of integrating recycled materials from Vanheede into Naue’s production processes, specifically for geosynthetics such as geomembranes. The discussion clarified that while technical processing is possible, regulatory constraints and market requirements currently prohibit the use of external post-consumer or post-industrial recycled materials for high-durability applications. The parties agreed that the primary obstacle is not technical capability but rather compliance with standards requiring extensive lot-by-lot testing for recycled inputs, which is economically unfeasible at scale.
## Regulatory Constraints and Market Limitations
Martin Tazl (Naue) explained that the core issue preventing the use of recycled material is regulatory, not technical. Current standards for geosynthetics (geomembranes, geogrids, nonwovens) prohibit the use of external recycled material for products claiming durability beyond five years. To obtain CE marking or claim long-term durability (e.g., 25–100 years), manufacturers must prove aging behavior and other properties for every single lot of recycled material used.
* **Testing Burden:** These tests take approximately four months and are expensive. This requires storing material for months before processing, creating logistical and financial barriers.
* **Market Reality:** Customers typically require long-term safety (100+ years) for waste containment. Recycled material, even if technically viable, is often perceived as lower quality or carries higher risk. Furthermore, recycled material is frequently more expensive than virgin material, offering no cost advantage.
* **Current Policy:** Naue currently operates under a "zero RC (recycled content) policy" for external materials. They are only permitted to use a limited percentage (10–15%) of internal reuse materials (e.g., side trims).
* **Future Outlook:** Martin Tazl noted that the EU is working on new standards to normalize recycled material usage. The expected outcome is that recycled material will face the same performance requirements as virgin material, but with a shift from lot-by-lot testing to manufacturer-level quality control (QC) and audits. This change is anticipated in the coming years but is not yet in effect.
## Technical Specifications and Processing Capabilities
The discussion addressed the technical requirements for processing recycled HDPE/PE materials in Naue’s extrusion lines.
* **Particle Size:** Jorik Muylle (Vanheede) inquired about the 38-micron specification. Martin Tazl clarified this refers to impurities (remaining dirt), not pellet size. Naue’s extruder filters are set at 38 microns; particles larger than this clog filters and cause wear, while smaller particles are acceptable.
* **Polymer Type:** Naue uses LLDPE or MDPE (not true HDPE polymer) mixed with carbon black to achieve HDPE-like density. This composition ensures high elongation at break (700–800%) and weldability, which are critical for geomembranes. True HDPE polymer is too stiff and prone to stress cracking.
* **Stress Crack Resistance:** Martin Tazl highlighted that adding even small amounts (1–2%) of high-density material to their standard resin can drastically reduce stress crack resistance (from >3000 hours to <50 hours). This non-linear behavior makes mixing different polymer grades risky.
* **Extrusion Technology:** Naue uses flat die cast extrusion. They have lines capable of ABA structures, but for geosynthetics, the material must be homogeneous from top to bottom; ABA structures do not mitigate regulatory or performance issues.
* **PP Content:** The presence of polypropylene (PP) is problematic because landfill applications typically require 100% polyethylene for weldability and chemical resistance.
## Feasibility of Specific Material Streams
* **Post-Consumer Household Packaging:** Jorik Muylle stated that Vanheede’s recycling plant is designed for post-consumer household packaging (bottles, films). He argued that using temporary landfill coverings (HDPE foil) as feedstock is not feasible at scale due to contamination, small lot sizes, and the need for extensive pre-processing (washing, sorting) that Vanheede’s current lines are not optimized for.
* **Geosynthetic Recycling:** Martin Tazl mentioned a research program ("Pro Geo UP") focused on recycling geosynthetics into new geosynthetics. This is technically feasible because the material is consistent, but the volume of available waste geosynthetics is too low to support industrial scale production.
* **Hybrid Materials:** Jorik Muylle suggested that the most viable path for recycled content in the near future is through hybrid materials produced by major polymer producers (e.g., TotalEnergies, Borealis, Ravago). These producers integrate recycled content into virgin polymer, providing certified, ready-to-use material with consistent quality, thereby bypassing the lot-by-lot testing burden for converters like Naue.
## Strategic Outlook and Next Steps
* **Short-Term:** No immediate commercial opportunity exists for using Vanheede’s recycled HDPE in Naue’s geomembrane production due to regulatory and market constraints.
* **Medium-Term (2–4 Years):** Both parties anticipate regulatory changes that may allow for the use of certified recycled content. Jorik Muylle plans to consult with his polymer partners (TotalEnergies, Borealis, Ravago) to understand the technical demands and norms for hybrid materials.
* **Testing Offer:** Martin Tazl offered to conduct lab-scale tests (approx. 50 kg) using a mixture of 20% Vanheede recycled material and 80% Naue virgin material to assess technical feasibility, though he emphasized this would not solve the regulatory issues.
* **Competitive Landscape:** Martin Tazl noted that competitors are also exploring recycling of geosynthetics but are not currently using post-consumer packaging streams. He predicted that recycled polyester (from bottles) may be the first recycled material to gain traction in geosynthetics due to its cleaner, more consistent stream.
## Action Items
* **Jorik Muylle (Vanheede):** To discuss technical demands and regulatory norms with polymer partners (TotalEnergies, Borealis, Ravago) regarding hybrid recycled/virgin materials.
* **Martin Tazl (Naue):** To share information on the "Pro Geo UP" research program and potentially conduct lab-scale tests with Vanheede material if requested.
* **Dries Nollet (Vanheede):** To send out the upcoming tender to Naue, keeping them in copy.
@@ -1,63 +0,0 @@
{
"output_language": "en",
"model": "qwen3.8:27b",
"prompt_token_count": 11665,
"output_token_count": 1407,
"prompt_evaluation_duration_ns": 19633919000,
"generation_duration_ns": 123254843000,
"total_ollama_duration_ns": 147435392290,
"client_wall_time_seconds": 147.45673817200077,
"completion_reason": "stop",
"done": true,
"request_count": 1,
"temperature": 0.0,
"think": false,
"num_ctx": 32768,
"num_predict": 8192,
"num_thread": null,
"selected_transcript_representation": "diarized_compact",
"estimated_input_tokens": 10734,
"safe_input_token_budget": 29000,
"input_token_estimation_method": "utf8_bytes_divided_by_4.4",
"fallback_used": false,
"diarization_enabled": true,
"speaker_attribution_available": true,
"speaker_attribution_loss_reason": null,
"speaker_mapping_count": 0,
"glossary_aliases_configured": {
"Bento Fix": "Bentofix",
"Carbofool": "Carbofol",
"Carbovol": "Carbofol",
"Cockmann": "Kockmann",
"Diekmeyer": "Diekmeier",
"Dikmeier": "Diekmeier",
"Dikmeyer": "Diekmeier",
"GM 13": "GM13",
"GM 17": "GM17",
"GM 42": "GM42",
"GM-13": "GM13",
"GM-17": "GM17",
"GM-42": "GM42",
"Karbofol": "Carbofol",
"Kogmann": "Kockmann",
"Lumini": "Luminy",
"Sekumat": "Secumat",
"Sikirgut": "Secugrid",
"Sikirgut Heistlöse": "Secugrid HS",
"Sikirgut-Heistlöse": "Secugrid HS",
"Sikirgut-Heißlöse": "Secugrid HS"
},
"glossary_replacements": [],
"generation_index": 1,
"generation_timestamp": "2026-09-15T13:05:17+00:00",
"source_run_id": "d7189066_2026-09-14_16-00-18_Recycled_HDPE_20260915_145952",
"speaker_mapping": {},
"speaker_mapping_names": {},
"git": {
"meeting_lab": {
"repository": "/opt/git-projekts/meeting-lab",
"sha": "21082e66b3b603049898fb19fab3558e484a2478",
"dirty": true
}
}
}
File diff suppressed because one or more lines are too long
@@ -1,82 +0,0 @@
# Meeting Protocol
## Meeting Overview
**Title:** Vanheede and Naue, Recycling and Circular Economy
**Participants:**
* **Naue:** Christian Psiorz (Sales Director), Martin Tazl (Director R&D / Technic)
* **Vanheede:** Dries Nollet (Sales Person), Jorik Muylle (Technical)
**Context:**
The meeting aimed to explore the feasibility of using recycled plastic materials from Vanheede in Naue’s production processes, specifically for geosynthetics. The discussion clarified that while technical processing is possible, regulatory constraints and market requirements currently prohibit the use of external post-consumer recycled material for high-durability geosynthetics. The parties agreed that future opportunities depend on regulatory changes and the development of certified hybrid materials by major polymer producers.
## Clarification of Scope and Intent
**Discussion:**
Martin Tazl (Naue) clarified a potential misunderstanding regarding the scope of the collaboration. He noted that initial communications suggested a limited reuse of specific waste streams (e.g., HDPE foil) within Naue’s own operations. However, the questions forwarded by Vanheede implied a broader interest in using general recycled material for Naue’s commercial production.
Jorik Muylle (Vanheede) confirmed that the intent was broader: to explore if Vanheede’s general plastics recycling output (not just HDPE foil) could be utilized in Naue’s production. He explained that the initial focus on HDPE foil was deemed difficult due to contamination issues, leading to a broader discussion about using Vanheede’s general recycling capabilities.
**Outcome:**
The discussion shifted from a specific waste reuse case to a general inquiry about the feasibility of using Vanheede’s recycled output for Naue’s geosynthetic products.
## Regulatory Barriers and Market Constraints
**Discussion:**
Martin Tazl (Naue) explained that the primary obstacle to using external recycled material is not technical processability but regulatory compliance.
* **Durability Claims:** To claim a durability of more than five years (standard for landfill applications), manufacturers must prove aging behavior for every lot of recycled material used. Virgin material is exempt from this per-lot testing due to established QC audits.
* **Testing Burden:** Aging tests for recycled material take approximately four months and are expensive. This requires storing material for four months before processing, which is not feasible for large-scale production.
* **Market Limitation:** Without per-lot testing, products can only claim a five-year durability. This limits the market to temporary applications (e.g., temporary capping) where customers are willing to accept this limitation. However, customers typically prefer virgin material because it is cheaper, has no time-limit risk, and avoids the complexity of liability for long-term performance.
* **Current Policy:** Naue currently has a "zero RC (recycled content) policy" for all geotextiles (geomembranes, geogrids, wovens, nonwovens) due to these regulatory hurdles. Only a small percentage (10-15%) of internal side-trim reuse is permitted.
**Position:**
Christian Psiorz (Naue) confirmed that while a circular economy approach is desirable, current regulations prevent large-scale implementation. He noted that temporary capping applications (5-year lifespan) are technically possible but represent a narrow market.
## Technical Specifications and Material Properties
**Discussion:**
Jorik Muylle (Vanheede) and Martin Tazl (Naue) discussed specific technical parameters:
1. **Particle Size:**
* Jorik Muylle asked for clarification on the 38-micron limit.
* Martin Tazl explained that this refers to impurities/dirt, not pellet size. Naue’s extruder filters are set to 38 microns. Particles larger than this cause filter clogging and wear on the extruder, while particles smaller than this cannot be filtered out and may cause failure points in the membrane.
2. **Extrusion Technology:**
* Jorik Muylle asked if Naue uses flat die cast extrusion and if ABA (virgin-recycled-virgin) structures are possible.
* Martin Tazl confirmed they use flat die cast extrusion and have lines capable of ABA structures. However, for geosynthetics, the material must be homogeneous from top to bottom to ensure consistent performance; ABA structures do not offer a regulatory or technical advantage in this context.
3. **Polymer Type and Purity:**
* Jorik Muylle noted that Vanheede’s recycling inputs are primarily post-consumer household packaging (bottles, films), resulting in HDPE/LLDPE/MDPE mixes.
* Martin Tazl clarified that Naue’s "HDPE" geomembranes are actually made from a mix of LLDPE and MDPE (approx. 60% MDPE, 40% LLDPE) with added carbon black to achieve the required density. This mix provides better weldability and elongation at break (target ~800%) compared to true HDPE, which is too stiff and prone to stress cracking.
* **PP Content:** Jorik Muylle highlighted that PP content is critical for weldability. Martin Tazl confirmed that for landfill applications, 100% polyethylene is required; any significant PP content disqualifies the material for these high-end uses.
4. **Stress Crack Resistance:**
* Martin Tazl emphasized that geomembranes require high stress crack resistance (500–800+ hours). Virgin HDPE often fails this test (reaching only ~10 hours). Mixing different polymer grades (e.g., adding high-density material to low-density) can unpredictably degrade stress crack resistance, as demonstrated in Naue’s internal tests where adding 2% high-density material dropped resistance from 3000+ hours to under 50 hours.
## Feasibility of Vanheede’s Recycled Material
**Discussion:**
* **Vanheede’s Input:** Jorik Muylle stated that Vanheede’s plant is designed for post-consumer household waste (bottles, films). Their output is a mix of HDPE, LLDPE, and MDPE. They do not currently produce a pure, high-grade HDPE suitable for Naue’s specifications without further compounding.
* **Naue’s Assessment:** Martin Tazl stated that 100% recycled material from Vanheede’s current streams would likely not meet the specifications for high-end geomembranes due to variability and impurities. However, he acknowledged that if a major polymer producer (e.g., TotalEnergies, Borealis, Ravago) provides a certified hybrid material (e.g., 20% recycled + 80% virgin) with guaranteed quality, Naue could process it.
* **Scale and Availability:** Jorik Muylle noted that for scale, post-consumer streams are necessary. Martin Tazl agreed that availability is a major constraint for recycling geosynthetics themselves (e.g., old geomembranes), as they are designed to last 25–100 years and are not available in large quantities.
**Conclusion:**
Direct use of Vanheede’s current recycled output for Naue’s standard geomembrane production is not feasible due to regulatory and technical consistency issues. The viable path is through certified hybrid materials from major polymer producers.
## Future Outlook and Regulatory Changes
**Discussion:**
* **EU Regulations:** Martin Tazl mentioned that the EU is working on new standards to normalize the use of recycled materials in geosynthetics. He expects that future regulations will require recycled materials to meet the same performance standards as virgin materials, rather than allowing lower standards. This will likely shift the burden of quality assurance to the recycled material producer.
* **Research Programs:** Martin Tazl referenced the "ProGeoUP" research program, which focuses on recycling geosynthetics into new geosynthetics. He noted that while technically possible, the lack of available feedstock (old geosynthetics) limits its commercial viability.
* **Market Drivers:** Christian Psiorz (Naue) noted that financial incentives or regulatory pressure (e.g., mandatory recycled content in packaging by 2030) are needed to drive change. He expressed skepticism about the current market willingness to pay a premium for recycled content in geosynthetics.
* **Competitor Activity:** Martin Tazl stated he is not aware of competitors offering geomembranes made from post-consumer recycled material. He noted that bio-based polymers (e.g., bio-based polyester) are a more likely near-term development for recycled content in geosynthetics.
## Action Items and Next Steps
**Discussion:**
* **Information Exchange:** Jorik Muylle (Vanheede) requested that Naue share the current regulatory norms and technical specifications (MFR, elongation at break, stress crack resistance) for their geomembranes. This will allow Vanheede to discuss with their polymer partners (TotalEnergies, Borealis, Ravago) about developing suitable hybrid materials.
* **Testing:** Martin Tazl (Naue) offered to conduct lab-scale tests (30 cm wide, ~50 kg) with a mixture of 20% Vanheede recycled material and 80% virgin material to assess technical feasibility, if Vanheede provides the material. However, he emphasized that this would not solve the regulatory issues.
* **Tender:** Dries Nollet (Vanheede) mentioned that a tender is expected to be sent out by the end of the current week or the beginning of the next week. Christian Psiorz (Naue) confirmed they will stay in contact regarding this tender.
**Agreed Actions:**
1. **Naue (Martin Tazl):** To provide current regulatory norms and technical specifications for geomembranes to Vanheede.
2. **Vanheede (Jorik Muylle):** To discuss technical demands and potential hybrid material solutions with polymer partners (TotalEnergies, Borealis, Ravago).
3. **Both Parties:** To maintain contact regarding the upcoming tender and future regulatory developments.
## Unresolved Issues
* **Regulatory Compliance:** No current regulatory pathway exists for using external post-consumer recycled material in high-durability geosynthetics without per-lot testing, which is not commercially viable.
* **Material Consistency:** Vanheede’s current recycled output does not meet the purity and consistency requirements for Naue’s standard geomembrane production.
* **Market Demand:** There is currently no significant market demand for geomembranes made from recycled material due to cost and liability concerns.
@@ -1,73 +0,0 @@
{
"output_language": "en",
"model": "qwen3.8:27b",
"prompt_token_count": 11933,
"output_token_count": 2304,
"prompt_evaluation_duration_ns": 20091506000,
"generation_duration_ns": 190776825000,
"total_ollama_duration_ns": 214434255275,
"client_wall_time_seconds": 214.45167524499993,
"completion_reason": "stop",
"done": true,
"request_count": 1,
"temperature": 0.0,
"think": false,
"num_ctx": 32768,
"num_predict": 8192,
"num_thread": null,
"selected_transcript_representation": "diarized_compact",
"estimated_input_tokens": 10973,
"safe_input_token_budget": 29000,
"input_token_estimation_method": "utf8_bytes_divided_by_4.4",
"fallback_used": false,
"diarization_enabled": true,
"speaker_attribution_available": true,
"speaker_attribution_loss_reason": null,
"speaker_mapping_count": 4,
"glossary_aliases_configured": {
"Bento Fix": "Bentofix",
"Carbofool": "Carbofol",
"Carbovol": "Carbofol",
"Cockmann": "Kockmann",
"Diekmeyer": "Diekmeier",
"Dikmeier": "Diekmeier",
"Dikmeyer": "Diekmeier",
"GM 13": "GM13",
"GM 17": "GM17",
"GM 42": "GM42",
"GM-13": "GM13",
"GM-17": "GM17",
"GM-42": "GM42",
"Karbofol": "Carbofol",
"Kogmann": "Kockmann",
"Lumini": "Luminy",
"Sekumat": "Secumat",
"Sikirgut": "Secugrid",
"Sikirgut Heistlöse": "Secugrid HS",
"Sikirgut-Heistlöse": "Secugrid HS",
"Sikirgut-Heißlöse": "Secugrid HS"
},
"glossary_replacements": [],
"generation_index": 2,
"generation_timestamp": "2026-09-15T13:20:10+00:00",
"source_run_id": "d7189066_2026-09-14_16-00-18_Recycled_HDPE_20260915_145952",
"speaker_mapping": {
"SPEAKER_00": "participant-c9280bb9",
"SPEAKER_01": "participant-8c7d5a9d",
"SPEAKER_02": "participant-0c5377fb",
"SPEAKER_03": "participant-dddd3ddf"
},
"speaker_mapping_names": {
"SPEAKER_00": "Jorik Muylle",
"SPEAKER_01": "Martin Tazl",
"SPEAKER_02": "Christian Psiorz",
"SPEAKER_03": "Dries Nollet"
},
"git": {
"meeting_lab": {
"repository": "/opt/git-projekts/meeting-lab",
"sha": "21082e66b3b603049898fb19fab3558e484a2478",
"dirty": true
}
}
}
@@ -1,64 +0,0 @@
{
"audio_preparation": {
"canonical_output": {
"bits_per_sample": 16,
"channels": 1,
"codec": "pcm_s16le",
"container": "wav",
"sample_rate_hz": 16000
},
"ffmpeg_executable": "/usr/bin/ffmpeg",
"normalization_enabled": true,
"normalization_filter": "loudnorm=I=-16:LRA=11:TP=-1.5",
"normalization_method": "ffmpeg_loudnorm",
"original_format": "flac",
"original_source_name": "d7189066_2026-09-14 16-00-18 Recycled HDPE.flac",
"original_source_path": "/opt/git-projekts/meeting-assistant/data/meetings/vanheede-and-naue-recycling-and-circular-economy/uploads/d7189066_2026-09-14 16-00-18 Recycled HDPE.flac",
"preparation_method": "ffmpeg",
"prepared_audio_path": "/opt/git-projekts/meeting-assistant/data/meetings/vanheede-and-naue-recycling-and-circular-economy/runs/d7189066_2026-09-14_16-00-18_Recycled_HDPE_20260915_145952/audio/prepared.wav"
},
"diarization": {
"actual_device": "cuda",
"backend": "pyannote.audio",
"device_name": "AMD Radeon RX 9070",
"enabled": true,
"metadata_path": "/opt/git-projekts/meeting-assistant/data/meetings/vanheede-and-naue-recycling-and-circular-economy/runs/d7189066_2026-09-14_16-00-18_Recycled_HDPE_20260915_145952/diarization/metadata.json",
"model": "pyannote/speaker-diarization-community-1",
"requested_device_mode": "auto",
"runtime": "container",
"runtime_seconds": 66.73990752200007,
"speaker_count": 4,
"transcript_diarized": "/opt/git-projekts/meeting-assistant/data/meetings/vanheede-and-naue-recycling-and-circular-economy/runs/d7189066_2026-09-14_16-00-18_Recycled_HDPE_20260915_145952/diarization/transcript_diarized.json",
"transcript_diarized_text": "/opt/git-projekts/meeting-assistant/data/meetings/vanheede-and-naue-recycling-and-circular-economy/runs/d7189066_2026-09-14_16-00-18_Recycled_HDPE_20260915_145952/diarization/transcript_diarized.txt"
},
"failure": null,
"input_audio": "/opt/git-projekts/meeting-assistant/data/meetings/vanheede-and-naue-recycling-and-circular-economy/uploads/d7189066_2026-09-14 16-00-18 Recycled HDPE.flac",
"model": "qwen3.8:27b",
"ollama_endpoint": "http://127.0.0.1:11434",
"protocol_output": "/opt/git-projekts/meeting-assistant/data/meetings/vanheede-and-naue-recycling-and-circular-economy/runs/d7189066_2026-09-14_16-00-18_Recycled_HDPE_20260915_145952/protocol.md",
"run_id": "d7189066_2026-09-14_16-00-18_Recycled_HDPE_20260915_145952",
"stage_runtimes_seconds": {
"audio_preparation": 44.826,
"diarization": 86.676,
"diarization_alignment": 0.02,
"protocol": 147.471,
"setup": 44.827,
"transcript_validation": 0.0,
"validation": 0.0,
"whisper": 45.823
},
"status": "completed",
"timestamp": "2026-09-15T14:59:52+02:00",
"timing": {
"stages_seconds": {
"diarization": 86.69619259699903,
"preparing": 44.82779592799852,
"protocol_generation": 147.4888497869997,
"transcription": 45.823291290998895
},
"total_seconds": 324.8364486570008
},
"total_runtime_seconds": 324.836,
"transcript_output": "/opt/git-projekts/meeting-assistant/data/meetings/vanheede-and-naue-recycling-and-circular-economy/runs/d7189066_2026-09-14_16-00-18_Recycled_HDPE_20260915_145952/transcript/transcript.json",
"whisper_model": "/home/martin/whisper.cpp/whisper.cpp/models/ggml-large-v3-turbo.bin"
}
@@ -1,30 +0,0 @@
# Speaker identity analysis
## Evidence boundary
Generation 001 received the participant list but **no confirmed speaker mappings**. Its prompt also says “Erfinde keine Fakten oder Identitäten” (do not invent facts or identities). It nevertheless uses participant names. The table below assesses whether that use can be justified from the persisted compact transcript. Generation 002 is different: its exact prompt explicitly maps every cluster and instructs the model to use only those mappings.
| Speaker cluster | Identity in generation 002 | Explicit mapping? | Relevant persisted discourse evidence | Assessment |
| --- | --- | --- | --- | --- |
| `SPEAKER_00` | Jorik Muylle | Yes, in 002 only | The speaker says “Well, Martin” and thanks “Christian”; a phonetic-looking `Jurek`/`Jürich` is mentioned by other speakers, but no turn uniquely identifies this speaker as Jorik Muylle. | **NOT EXPLAINABLE FROM PERSISTED EVIDENCE** for 001; **EXPLICITLY MAPPED** for 002. |
| `SPEAKER_01` | Martin Tazl | Yes, in 002 only | `SPEAKER_00` says “Well, Martin, thank you for the explanation”; `SPEAKER_03` refers to “your Martin’s requirements”; the following turn is the technical explanation. | **STRONGLY DISCOURSE-SUPPORTED** for 001; **EXPLICITLY MAPPED** for 002. |
| `SPEAKER_02` | Christian Psiorz | Yes, in 002 only | `SPEAKER_00` thanks “Christian” for what he gave before; `SPEAKER_01` speaks of “Christian and me”; `SPEAKER_02` is the other Naue-side speaker. | **STRONGLY DISCOURSE-SUPPORTED** for 001; **EXPLICITLY MAPPED** for 002. |
| `SPEAKER_03` | Dries Nollet | Yes, in 002 only | Near the close, `SPEAKER_02` addresses “Dries” about the upcoming tender; `SPEAKER_03` then says they will send the tender. | **STRONGLY DISCOURSE-SUPPORTED** for 001; **EXPLICITLY MAPPED** for 002. |
Short excerpts are intentionally kept only to what establishes the link:
- `SPEAKER_00`: “Well, Martin, thank you for the explanation … and Christian …”
- `SPEAKER_03`: “based upon … Martin’s requirements”
- `SPEAKER_02`: “Dries, I think we will stay in contact … regarding the upcoming tender.”
- `SPEAKER_03`: “end of this week … we will send out the tender.”
## Counterexamples and implications
The participant list has exactly four names and diarization has exactly four clusters. That cardinality makes an arbitrary remaining-name assignment easy; it is not positive evidence. In particular, the transcript mentions `Jurek`, `Jürich`, and `Jeroen`, which are not canonical participant names in the context. The available record does not establish whether either phonetic form denotes Jorik Muylle or a different person. Do not use the apparent correct remaining-name match as evidence that generation 001 performed reliable discourse identity resolution.
The case therefore supports two distinct regression checks:
1. With the four explicit mappings in generation 002, preserve every mapped identity correctly.
2. Without an explicit mapping, allow a name only when positive discourse evidence identifies a unique cluster. Participant-list membership and one-to-one count matching alone are insufficient. For this transcript, `SPEAKER_00` must remain anonymous unless new evidence is supplied.
This evidence assessment concerns identity attribution only. It does not make speaker identity a basis for assigning an action or responsibility.
@@ -1,575 +0,0 @@
[00:00:00.000 - 00:00:07.880] SPEAKER_03: Well it's a Monday. Weekend was too short as always.
[00:00:07.880 - 00:00:22.380] SPEAKER_02: Everything's good. How many of your colleagues are joining? Jurek and Jeroen both coming?
[00:00:22.380 - 00:00:36.180] SPEAKER_03: Normally I invite Jeroen. There he comes. I think Jurek will not join.
[00:00:36.180 - 00:00:51.160] SPEAKER_00: Welcome. Hello to everybody. Jurek will not join, that was your question. I see he's in
[00:00:51.160 - 00:00:56.320] SPEAKER_00: a meeting so what he said as it will probably be a technical meeting or a more
[00:00:56.320 - 00:01:02.020] SPEAKER_00: technical meeting I will correct get the info from my colleagues. Yes I think the
[00:01:02.020 - 00:01:07.660] SPEAKER_03: aim of today's meeting is to to get to know more to get to know more about let's
[00:01:07.660 - 00:01:14.800] SPEAKER_03: say the specifications in terms of using the recycled material from Van Heden and
[00:01:14.800 - 00:01:25.660] SPEAKER_03: and if we can let's say find a solution or if we can work together on this front as well since it was currently still at an early stage
[00:01:25.660 - 00:01:36.520] SPEAKER_03: where we in the previous meeting discussed the potential opportunity and then Christian forwarded based upon I think it's your Martin's requirements.
[00:01:36.520 - 00:01:47.380] SPEAKER_03: And then I forwarded it to Jeroen our expert at Van Heden and then he I think forwarded some additional questions.
[00:01:47.380 - 00:01:58.240] SPEAKER_01: Yeah so before we start we should get something straight when Christian and me were starting
[00:01:58.240 - 00:02:05.380] SPEAKER_01: talking about or when Christian told me about your ideas what to do there was I assumed that it was that it would be about a limited a limited amount of material which is on your side which you do recycle and you thought about okay we can do it.
[00:02:05.380 - 00:02:18.380] SPEAKER_01: We can reuse this particular material for our purpose on our own landfills so that's what I understood the questions you sent they are all valid and this is all most of that is well known.
[00:02:18.380 - 00:02:34.380] SPEAKER_01: But to me that sounded like a general offer to use recycled material to use recycled material in our production and so first of all was that was that your intention?
[00:02:34.380 - 00:02:55.380] SPEAKER_01: So I think first we discussed with Christian in the last meeting if it was possible to re-use HDPE foil which we use for a temporary basis and then get back to let's say the recycling of HDPE foil.
[00:02:55.380 - 00:03:18.380] SPEAKER_03: But I think this was deemed to be very difficult since it was also of course polluted and also difficult to let's say yeah you put it on the dirt you have to pull it back it's contaminated.
[00:03:18.380 - 00:03:33.380] SPEAKER_03: And then Jürich I think switched his view to okay at Van Heide we also have plastics recycling which is not only linked to HDPE foil.
[00:03:33.380 - 00:03:45.380] SPEAKER_03: And that was let's say the broader discussion could we be or could the products that we supply or foresee be also utilized in your production process.
[00:03:45.380 - 00:03:52.380] SPEAKER_01: So this is okay if this is a general question then unfortunately no and yes.
[00:03:52.380 - 00:03:59.380] SPEAKER_01: So in general I have to I have to do a little bigger circle.
[00:03:59.380 - 00:04:07.380] SPEAKER_01: It is it is less on the side if we can technically process these kind of materials.
[00:04:07.380 - 00:04:16.380] SPEAKER_01: It's more like we can't make any product of of that for any market we are working on.
[00:04:16.380 - 00:04:20.380] SPEAKER_01: The problem is not the technical process ability.
[00:04:20.380 - 00:04:34.380] SPEAKER_01: So if we follow some standards or and some let's say some requirements like MFR has to be in a certain range and so on and there has to be a minimum of stabilization and whatsoever.
[00:04:34.380 - 00:04:39.380] SPEAKER_01: But that's nothing you can fix which you cannot fix with a master batch for example.
[00:04:39.380 - 00:04:52.380] SPEAKER_01: But all this or but a lot of regulations standards and so on just prohibit using of as by now.
[00:04:52.380 - 00:04:57.380] SPEAKER_01: Yeah, just prohibit the usage of external recycling material.
[00:04:57.380 - 00:05:09.380] SPEAKER_01: So we're just not allowed to use post consumer post industrial recycling for making geo membranes as geo membranes.
[00:05:09.380 - 00:05:21.380] SPEAKER_01: And the main problem about that is whenever you want to claim a durability of more than five years then you have to prove certain things.
[00:05:21.380 - 00:05:22.380] SPEAKER_01: So that's where it begins.
[00:05:22.380 - 00:05:38.380] SPEAKER_01: So to get a CE marking, for example, you have to prove basically every lot you use, you have to prove that the aging behavior and so on.
[00:05:38.380 - 00:05:56.380] SPEAKER_01: So of course, we don't do that for virgin material because for virgin material it is assumed as long as the QC of the manufacturer of the virtual material is checked every it's audited in regular times and so on.
[00:05:56.380 - 00:06:14.380] SPEAKER_01: It can be assumed that the material stays always the same and so on and therefore they elongated this timeframe where you have to recheck this to about five years if I'm not wrong for RC material where you don't actually know what material went into that lot.
[00:06:14.380 - 00:06:22.380] SPEAKER_01: You probably can't tell if this was yogurt bins or whatsoever.
[00:06:22.380 - 00:06:25.380] SPEAKER_01: You technically have to do this for every lot.
[00:06:25.380 - 00:06:29.380] SPEAKER_01: And these tests are not only expensive.
[00:06:29.380 - 00:06:32.380] SPEAKER_01: They are as well taking four months.
[00:06:32.380 - 00:06:41.380] SPEAKER_01: So for us, if you would use for our products recycled material now.
[00:06:41.380 - 00:06:53.380] SPEAKER_01: So it's the regulation nowadays, we would have to store the material for about four months until we get the result of the aging before we can further process.
[00:06:53.380 - 00:06:59.380] SPEAKER_01: That has nothing to do with the quality of the material or the possibility process ability of the material.
[00:06:59.380 - 00:07:10.380] SPEAKER_01: It's just because of the regulations that we have to check every lot for a certain for certain things, especially aging and so on.
[00:07:10.380 - 00:07:19.380] SPEAKER_01: That said, this limits the market to so if you don't do that, you can only claim five years of durability.
[00:07:19.380 - 00:07:23.380] SPEAKER_01: And this limits your market very much.
[00:07:23.380 - 00:07:29.380] SPEAKER_01: You can claim that five years is pretty much enough for temporary capping or whatsoever.
[00:07:29.380 - 00:07:41.380] SPEAKER_01: The problem in the discussion is the customer usually doesn't know by but for sure that the application will be done within five years.
[00:07:41.380 - 00:07:48.380] SPEAKER_01: So what happens if for any reason you have to use it longer longer than the than the five years?
[00:07:48.380 - 00:07:52.380] SPEAKER_01: Who is taking the responsibility for the time after?
[00:07:52.380 - 00:07:59.380] SPEAKER_01: And what happens if you buy the material and the installation is delayed by one year for any reason?
[00:07:59.380 - 00:08:02.380] SPEAKER_01: You know, so and the price difference.
[00:08:02.380 - 00:08:11.380] SPEAKER_01: If there is any to our to our knowledge, usually the recycling material is even more expensive than version material in most of the cases.
[00:08:11.380 - 00:08:16.380] SPEAKER_01: The customers usually just go with the virgin material is cheaper.
[00:08:16.380 - 00:08:20.380] SPEAKER_01: They don't have to worry about these five years timeframe.
[00:08:20.380 - 00:08:23.380] SPEAKER_01: So much more convenient.
[00:08:23.380 - 00:08:24.380] SPEAKER_01: That's the problem.
[00:08:24.380 - 00:08:26.380] SPEAKER_01: One hand side.
[00:08:26.380 - 00:08:32.380] SPEAKER_01: Second hand side is the technical requirements to geomembranes in particular.
[00:08:32.380 - 00:08:37.380] SPEAKER_01: For geomembranes, it's not only to be aging proof and so on.
[00:08:37.380 - 00:08:44.380] SPEAKER_01: It's as well, there are some requirements which are related to the chemicals in the landfill.
[00:08:44.380 - 00:08:47.380] SPEAKER_01: So it's it's called stress crack resistance.
[00:08:47.380 - 00:08:58.380] SPEAKER_01: It's basically you always have some force on a geomembrane in due to the the own weight and due to some capping on top or whatsoever.
[00:08:58.380 - 00:09:06.380] SPEAKER_01: So like when it forms like a mattress or whatsoever, and especially HDPEs.
[00:09:06.380 - 00:09:17.380] SPEAKER_01: So really HDPEs where the density of the polymer exceeds 900, 45, 40, 45, something like that.
[00:09:17.380 - 00:09:21.380] SPEAKER_01: They are very prone to stress crack behavior.
[00:09:23.380 - 00:09:30.380] SPEAKER_01: We have to proof our products usually something like 500 to 800 hours of stress crack resistance.
[00:09:30.380 - 00:09:33.380] SPEAKER_01: You don't have to understand exactly the test.
[00:09:33.380 - 00:09:42.380] SPEAKER_01: But what we know from HDPEs, even from virgin HDPEs, which are by themselves already HDPE.
[00:09:42.380 - 00:09:47.380] SPEAKER_01: We reach something like 10 hours under the same conditions.
[00:09:47.380 - 00:09:54.380] SPEAKER_01: And this really is not suitable for landfill, typical landfill applications.
[00:09:54.380 - 00:10:13.380] SPEAKER_01: So the possibility of using recycled material would need a customer who is willing to pay more, get less and has some restrictions on how to use it.
[00:10:13.380 - 00:10:24.380] SPEAKER_01: So we can discuss about, yeah, if on a capping, which is only temporary and usually just necessary to keep away some water.
[00:10:24.380 - 00:10:31.380] SPEAKER_01: And even if it has a minor leakage, it is still much better than without the capping and so on.
[00:10:31.380 - 00:10:38.380] SPEAKER_01: But that is a very narrow, very narrow market.
[00:10:38.380 - 00:11:00.380] SPEAKER_01: So our concerns are 80, I would say 90% about regulations and market restrictions and only 10% about the, how to say, process stability and the possibility to run the material actually on our lines.
[00:11:00.380 - 00:11:18.380] SPEAKER_01: So for example, the requirement of the ash remains is just a requirement that there must not be any grains in the membrane because these are failure spots.
[00:11:18.380 - 00:11:33.380] SPEAKER_01: So that's when you apply some, when you apply some load to the membrane, then we know that at that places, the membrane will start failing much earlier as within a, if there is a very homogeneous metric.
[00:11:33.380 - 00:11:36.380] SPEAKER_01: So that's the reasons why we are.
[00:11:36.380 - 00:11:37.380] SPEAKER_01: So that's the reasons why we asked for that.
[00:11:37.380 - 00:11:46.380] SPEAKER_01: And if you exceed a certain, let's say a certain grain size and a certain amount, you get some wear and tear in the extruder.
[00:11:46.380 - 00:11:48.380] SPEAKER_01: You probably know that very well.
[00:11:48.380 - 00:11:57.380] SPEAKER_01: So that's the reason why we request these boundary conditions like this 38 micrometers.
[00:11:57.380 - 00:12:04.380] SPEAKER_01: That's just because bigger grain sizes would cause failures in the membrane later on.
[00:12:04.380 - 00:12:09.380] SPEAKER_01: And it usually will create wear and tear on our extruders.
[00:12:09.380 - 00:12:10.380] SPEAKER_01: That's, that's the two things.
[00:12:10.380 - 00:12:12.380] SPEAKER_01: It's not just like, I didn't bring that up.
[00:12:12.380 - 00:12:13.380] SPEAKER_01: Just yeah.
[00:12:13.380 - 00:12:16.380] SPEAKER_01: That's the specification of the virtual material.
[00:12:16.380 - 00:12:25.380] SPEAKER_01: We have some real, we have some real reasons, real reasons for that, which are related to our product.
[00:12:25.380 - 00:12:34.380] SPEAKER_01: So, so to say a general usage of recycled material, and that it's not particular for your product.
[00:12:34.380 - 00:12:50.380] SPEAKER_01: It's in general is mostly the biggest, the biggest obstacle is the, is the, the, the, the standards and so on.
[00:12:50.380 - 00:12:59.380] SPEAKER_01: Second is it, it has to have a certain cleanliness to be processed, but the main thing is the regulations.
[00:12:59.380 - 00:13:13.380] SPEAKER_01: Um, um, as well, you need to, for, for landfill, um, applications or for all ceiling applications, which are where, where people are willing to pay more money than for a PVC film.
[00:13:13.380 - 00:13:21.380] SPEAKER_01: Um, they usually look exactly for the PE, uh, behavior and the resistance of PE.
[00:13:21.380 - 00:13:40.380] SPEAKER_01: And when you, when you have like 5% or 2% or whatever for, from PP or polyester or whatsoever in your mixture, you just out by definition because they usually request 100% polyethylene.
[00:13:40.380 - 00:13:50.380] SPEAKER_01: Um, so that's just, yeah, it's, it's, it's a geomembrane market on that, on that point.
[00:13:50.380 - 00:14:06.380] SPEAKER_01: On the other hand, if there is a, if there is a demand, or if you want to do it really in a closed, in a closed, closed environment or a closed project where everyone is aware of the costs and the limitations.
[00:14:06.380 - 00:14:12.380] SPEAKER_01: Um, it shouldn't be a problem for us to make these products.
[00:14:12.380 - 00:14:18.380] SPEAKER_01: We have some constraints because we have to separate it from our other materials.
[00:14:18.380 - 00:14:22.380] SPEAKER_01: So silo handling and so on will be an issue.
[00:14:22.380 - 00:14:35.380] SPEAKER_01: But from the technical point of view, if the MFR at, um, I think you gave 200, uh, 192.16, right?
[00:14:35.380 - 00:14:39.380] SPEAKER_00: We gave below one on a, on a 2.16 kilogram measurement.
[00:14:39.380 - 00:14:40.380] SPEAKER_01: Yeah.
[00:14:40.380 - 00:14:49.380] SPEAKER_01: So, um, we are usually that that's what we, so one is already fluid for us, but we are in the range.
[00:14:49.380 - 00:14:50.380] SPEAKER_01: I would say we are in the same range.
[00:14:50.380 - 00:14:54.380] SPEAKER_01: So the minimum we use actually is 0.3, if I'm not wrong.
[00:14:54.380 - 00:14:56.380] SPEAKER_01: And yeah, maybe up to one.
[00:14:56.380 - 00:14:59.380] SPEAKER_01: So we are more familiar with five kilogram values.
[00:14:59.380 - 00:15:14.380] SPEAKER_01: So the five kilogram values would be between one and 0.6 to, I would say three grams per 10 minutes or something like that.
[00:15:14.380 - 00:15:24.380] SPEAKER_01: So generally there's a good chance to process that, especially when we mix it with virgin material.
[00:15:24.380 - 00:15:37.380] SPEAKER_01: So, and that's the, but anyways, this will give us much better tech or much more fitting technical parameters, but it will not solve the problem on the regulation side.
[00:15:37.380 - 00:15:43.380] SPEAKER_01: On a regulation side at the moment, there will be, there will be some changes in the future.
[00:15:43.380 - 00:15:50.380] SPEAKER_01: The European union is working on standards, um, to normalize the usage of, um, recycled materials.
[00:15:50.380 - 00:15:55.380] SPEAKER_01: But as for now, and I would say the upcoming five years doesn't matter.
[00:15:55.380 - 00:15:59.380] SPEAKER_01: There is a zero RC policy in the products we make.
[00:15:59.380 - 00:16:03.380] SPEAKER_01: And it's not only geomembranes, it's geo grids.
[00:16:03.380 - 00:16:13.380] SPEAKER_01: It's nonwovens, it's wovens, everything, which is considered, uh, geo textile in its main definition.
[00:16:13.380 - 00:16:15.380] SPEAKER_01: There is this limitations on that.
[00:16:15.380 - 00:16:23.380] SPEAKER_01: So we are only allowed to use a certain percentage of internal reuse materials of side trims and so on.
[00:16:23.380 - 00:16:24.380] SPEAKER_01: That's the only excuse.
[00:16:24.380 - 00:16:26.380] SPEAKER_01: And even that is heavily limited.
[00:16:27.380 - 00:16:30.380] SPEAKER_01: So we can only use, I think 10 or 15% of that.
[00:16:32.380 - 00:16:37.380] SPEAKER_02: So generally speaking, the, there's a certain activity.
[00:16:37.380 - 00:16:38.380] SPEAKER_02: Yep.
[00:16:38.380 - 00:16:45.380] SPEAKER_02: That this, uh, circular economy approach, uh, that we discussed last week is, is, uh, really possible.
[00:16:45.380 - 00:16:56.380] SPEAKER_02: Um, on the other hand, what Martin is just describing, um, it limits our action on the market with regards to all these regulations.
[00:16:56.380 - 00:17:03.380] SPEAKER_02: So we, from, from, from now aside, we cannot think this in a, in a large scale model.
[00:17:03.380 - 00:17:04.380] SPEAKER_02: Yeah.
[00:17:04.380 - 00:17:15.380] SPEAKER_02: Um, but if, uh, wherever there are demands that the material just needs to, uh, survive for five years.
[00:17:15.380 - 00:17:18.380] SPEAKER_02: So like the temporary cappings that you described trees.
[00:17:18.380 - 00:17:19.380] SPEAKER_02: Yeah.
[00:17:19.380 - 00:17:20.380] SPEAKER_02: Then of course, this is possible.
[00:17:20.380 - 00:17:34.380] SPEAKER_00: Well, Martin, thank you for the explanation and, and Christian that you, that you gave before I jump into the regulatory, um, aspects.
[00:17:34.380 - 00:17:39.380] SPEAKER_00: Uh, it's just for me to understand also with the technical and some of the, of the topics you already touched.
[00:17:39.380 - 00:17:54.380] SPEAKER_00: But to understand well on the particle size, do you mean that at the 38 micron, that, that should be the, uh, uh, uh, if we go put it into the melting phase, that no particles smaller than 38 micron can be found.
[00:17:54.380 - 00:18:00.380] SPEAKER_00: So nothing to do with the pellet size or, this is about possible impurities.
[00:18:00.380 - 00:18:02.380] SPEAKER_01: So remaining dirt, I would say.
[00:18:02.380 - 00:18:03.380] SPEAKER_01: Yeah.
[00:18:03.380 - 00:18:10.380] SPEAKER_01: So, um, um, our C set in the extruder is actually a 38 micron.
[00:18:10.380 - 00:18:15.380] SPEAKER_01: So everything which is below that is accepted because we can't even filter it out on our own.
[00:18:15.380 - 00:18:18.380] SPEAKER_01: Everything above that will be filtered out.
[00:18:18.380 - 00:18:22.380] SPEAKER_01: If it is too much, we get in trouble because our filters clock very soon.
[00:18:22.380 - 00:18:23.380] SPEAKER_01: Yeah.
[00:18:23.380 - 00:18:24.380] SPEAKER_01: Okay.
[00:18:24.380 - 00:18:28.380] SPEAKER_00: Um, the technology that you are using, is that cast extrusion or.
[00:18:28.380 - 00:18:30.380] SPEAKER_00: Flat die cast extrusion.
[00:18:30.380 - 00:18:31.380] SPEAKER_01: Flat die cast extrusion.
[00:18:31.380 - 00:18:32.380] SPEAKER_00: Okay.
[00:18:32.380 - 00:18:33.380] SPEAKER_00: From.
[00:18:33.380 - 00:18:42.380] SPEAKER_00: And so that's one single layer, or do you have the option to, to, uh, let's say if it's in the future, it is possible to put recycled contents.
[00:18:42.380 - 00:18:49.380] SPEAKER_00: Are you, uh, in the option of doing ABA, uh, structures and put the recycled contents in the middle?
[00:18:49.380 - 00:18:51.380] SPEAKER_01: We have one line, which does ABA.
[00:18:51.380 - 00:18:56.380] SPEAKER_01: And we have one line, which actually has two extruders, which are extruding next to each other.
[00:18:56.380 - 00:19:05.380] SPEAKER_01: But for the more modern one, we have ABA or, uh, you can switch between A, B, A, B, A, as you want.
[00:19:05.380 - 00:19:06.380] SPEAKER_01: Okay.
[00:19:06.380 - 00:19:14.380] SPEAKER_01: But for our regulations or for our purpose, um, it doesn't make a difference.
[00:19:14.380 - 00:19:15.380] SPEAKER_01: So we can't differentiate.
[00:19:15.380 - 00:19:27.380] SPEAKER_01: It's not like, um, for example, window frames or so where you do the virtual material to the outside to get the pretty look and to get, uh, the colors and whatsoever.
[00:19:27.380 - 00:19:37.380] SPEAKER_01: And for the filling, you use the recycled materials, our material, um, how to say, has to last from the top to the bottom the same.
[00:19:37.380 - 00:19:38.380] SPEAKER_01: Yeah.
[00:19:38.380 - 00:19:39.380] SPEAKER_00: Okay.
[00:19:39.380 - 00:19:40.380] SPEAKER_00: Okay.
[00:19:40.380 - 00:19:41.380] SPEAKER_00: Um, okay.
[00:19:41.380 - 00:19:52.380] SPEAKER_00: And then based on the polymer purity, uh, as, as you're only using virgin material, of course, it's only PE.
[00:19:52.380 - 00:20:02.380] SPEAKER_00: Um, or products are also, um, I mean, the PP content is, uh, an important parameter because of the, um, uh, you, you should be able to still seal the material.
[00:20:02.380 - 00:20:11.380] SPEAKER_00: And especially also on our landfill, uh, if you cannot longer make a good seal between the different, um, products, then we have a problem, a problem.
[00:20:11.380 - 00:20:14.380] SPEAKER_00: That's the same thing, which goes to pipes, for instance.
[00:20:14.380 - 00:20:21.380] SPEAKER_00: So also pipes needs to be well, weldable, uh, still, and PP has a higher melting point compared to, to PE.
[00:20:21.380 - 00:20:31.380] SPEAKER_00: Um, and therefore I know the spec is there around 4% of, of, uh, of PP, but that's maybe things you're not very familiar with as you, as at this point,
[00:20:31.380 - 00:20:35.380] SPEAKER_00: you're only using, um, HD, right?
[00:20:35.380 - 00:20:44.380] SPEAKER_01: Again, we, we, technically we use, um, this is a little bit weird, but technically we use maximum MDPE.
[00:20:44.380 - 00:20:53.380] SPEAKER_01: So, uh, usually we use, uh, linear low, so LLDPE or MDPE from the work, from the polymer side.
[00:20:53.380 - 00:21:00.380] SPEAKER_01: And our material is just called HDPE because we add about two and a half percent carbon black,
[00:21:00.380 - 00:21:04.380] SPEAKER_01: which lifts the density in the range of HDPE.
[00:21:04.380 - 00:21:09.380] SPEAKER_01: So from the polymer side, we are using maximum MDPE.
[00:21:09.380 - 00:21:12.380] SPEAKER_01: And that's the reason why we have the pretty good weldability.
[00:21:12.380 - 00:21:17.380] SPEAKER_01: Um, we have this stress, stress, stress, resistance.
[00:21:17.380 - 00:21:27.380] SPEAKER_01: And some other values like, um, yield elongation in a certain range, uh, maximum elongation.
[00:21:27.380 - 00:21:31.380] SPEAKER_01: You need a break along maximum elongation at break of about 800%.
[00:21:31.380 - 00:21:36.380] SPEAKER_01: I think some, uh, some regulations ask for 700, some for 800.
[00:21:36.380 - 00:21:41.380] SPEAKER_01: And we know that if you use HDPE polymer.
[00:21:41.380 - 00:21:48.380] SPEAKER_01: So where the polymer already is an HDPE, um, you usually can't reach that because it's too stiff.
[00:21:48.380 - 00:21:49.380] SPEAKER_01: Yeah.
[00:21:49.380 - 00:21:50.380] SPEAKER_00: Yeah.
[00:21:50.380 - 00:21:51.380] SPEAKER_01: Yeah.
[00:21:51.380 - 00:21:52.380] SPEAKER_01: So that's the reason.
[00:21:52.380 - 00:21:53.380] SPEAKER_01: Yeah.
[00:21:53.380 - 00:21:54.380] SPEAKER_01: It's a little bit weird.
[00:21:54.380 - 00:22:01.380] SPEAKER_01: So we call it HDPE, but actually it is more like, I would say 60%, um, MDPE and 40% linear low.
[00:22:01.380 - 00:22:02.380] SPEAKER_01: Yeah.
[00:22:02.380 - 00:22:03.380] SPEAKER_00: Okay.
[00:22:03.380 - 00:22:11.380] SPEAKER_00: Well, our recycling plant, the only inputs we are using are, um, uh, post-consumer household packaging.
[00:22:11.380 - 00:22:15.380] SPEAKER_00: And so we are, we're integrated with our group and we do collection of household packaging.
[00:22:15.380 - 00:22:17.380] SPEAKER_00: We have sorting lines for household packaging.
[00:22:17.380 - 00:22:25.380] SPEAKER_00: And then the sorted, uh, bales of, uh, HDPE and PP are then further treated at our, uh, polymer plants.
[00:22:25.380 - 00:22:37.380] SPEAKER_00: And so on, on HDPE, this means, uh, yeah, mainly bottles, uh, HD, but you could also have some LDPE from creams, uh, cream and packaging, things like that.
[00:22:37.380 - 00:22:55.380] SPEAKER_00: Um, and so on HD, we don't only have chemical bottles because the chemical bottles have a high crack, um, stress resistance because you don't want, um, chemical to, to go out, but not in the, in the values that you are mentioning to be clear, uh, because we're still speaking about bottles and canisters.
[00:22:55.380 - 00:22:59.380] SPEAKER_00: Um, so that's the grade we are making.
[00:22:59.380 - 00:23:12.380] SPEAKER_00: So if you're referring to the, uh, to the high allegation that breaks, and then I understand your argument that it's rather an LDPE or MD and not an HD that you're using in the, in the, in the film.
[00:23:12.380 - 00:23:16.380] SPEAKER_00: So, um, so yeah, good to know.
[00:23:16.380 - 00:23:21.380] SPEAKER_00: Um, I think at this point, uh, mainly to regulatory affairs, it's a bit difficult.
[00:23:21.380 - 00:23:24.380] SPEAKER_00: Nevertheless, it's already good to understand the process.
[00:23:24.380 - 00:23:27.380] SPEAKER_00: Also good to understand that there is an ABA structure possible.
[00:23:27.380 - 00:23:40.380] SPEAKER_00: If regulatory will, would change that maybe there, there's possibilities, but then we have to look maybe more at the, at film, film grates rather than, than, than bottle, uh, bottle grates.
[00:23:40.380 - 00:23:41.380] SPEAKER_00: For sure.
[00:23:41.380 - 00:23:45.380] SPEAKER_00: Um, speaking about regulation, we had a bit of similar case.
[00:23:45.380 - 00:24:02.380] SPEAKER_00: So when we are looking, um, at the usage of all consumables within our group, which are, uh, used for, uh, with, with, with virgin material, we had a big, uh, consumption of, uh, medical bins that we are using in the hospitals.
[00:24:02.380 - 00:24:03.380] SPEAKER_00: Hmm.
[00:24:03.380 - 00:24:04.380] SPEAKER_02: Okay.
[00:24:04.380 - 00:24:06.380] SPEAKER_00: So these are PPE bins.
[00:24:06.380 - 00:24:13.380] SPEAKER_00: This was also not possible to use from, um, with, with, with recycled material because of regulatory affairs.
[00:24:13.380 - 00:24:22.380] SPEAKER_00: But we worked for two years on that, uh, project and we, um, we managed to get an exception, uh, on that.
[00:24:22.380 - 00:24:29.380] SPEAKER_00: Uh, why it was difficult because we are in ADR, uh, ADR transport, that's transport of dangerous goods.
[00:24:29.380 - 00:24:38.380] SPEAKER_00: And so in that regulatory, it was mentioned that we could only use virgin material or, uh, material coming from the same application.
[00:24:38.380 - 00:24:41.380] SPEAKER_00: A bit like the case you are, uh, mentioning.
[00:24:41.380 - 00:24:46.380] SPEAKER_00: Um, which state to censor doesn't really make sense as long.
[00:24:46.380 - 00:24:56.380] SPEAKER_00: If you could prove that you can fulfill the application with other origins, it's, uh, in our opinion, it could be used.
[00:24:56.380 - 00:25:08.380] SPEAKER_00: And so in this way, you went into discussion with, uh, European regulatory affairs together with, and the local, uh, legislation here in Belgium before, for transport of dangerous goods.
[00:25:08.380 - 00:25:16.380] SPEAKER_00: Um, and we managed to make, uh, to make boxes, which also had the same technical properties like were mentioned.
[00:25:16.380 - 00:25:26.380] SPEAKER_00: So also a high impact that the boxes don't break when they could fall off a truck and dangerous material from hospitals could be, could be, could be spilled.
[00:25:26.380 - 00:25:33.380] SPEAKER_00: So, um, I don't see a solution within the upcoming short periods to be clear.
[00:25:33.380 - 00:25:42.380] SPEAKER_00: Um, but it would be good for us to, if you could send us over the current regulation, which is in place, uh, which that's a bit the, the norm.
[00:25:42.380 - 00:25:47.380] SPEAKER_00: And next to that, maybe, uh, have a bit, an idea.
[00:25:47.380 - 00:25:54.380] SPEAKER_00: You mentioned some values about MFR, allegation net break, um, the, uh, stress crack resistance.
[00:25:54.380 - 00:25:57.380] SPEAKER_00: If we could have the values values, we can save them.
[00:25:57.380 - 00:26:03.380] SPEAKER_00: And then who knows within two or three years, if regulatory changes that, that we are well prepared,
[00:26:03.380 - 00:26:11.380] SPEAKER_00: that maybe also that part of our consumables within our group, we could replace a part with virgin material, uh, with recycled material, um,
[00:26:11.380 - 00:26:20.380] SPEAKER_00: which, which, which could lower significantly or, uh, or, um, yeah, a carbon footprint from our, from our group.
[00:26:20.380 - 00:26:28.380] SPEAKER_01: I can, uh, I can say that we are part of a research program, which is coming to its end, which has exactly that goal.
[00:26:28.380 - 00:26:38.380] SPEAKER_01: So this, it is the, the goal of this project, this pro geo UP, whenever you Google it, you will probably find some information about that.
[00:26:38.380 - 00:26:44.380] SPEAKER_01: But even though I can share the link, there's a, there's a page where it's roughly describing what we are doing.
[00:26:44.380 - 00:26:58.380] SPEAKER_01: Um, this is, this is especially the idea, especially behind that part we are doing is recycling of geo texts or geo composites, geo textiles, um, grids on whatsoever.
[00:26:58.380 - 00:27:09.380] SPEAKER_01: Um, the, yeah, the goal or the, the attempt there is more in the way, like you just described for these medical, medical bins.
[00:27:09.380 - 00:27:17.380] SPEAKER_01: So taking old geo textiles or geo synthetics and reconvert them to geo geo synthetics.
[00:27:17.380 - 00:27:24.380] SPEAKER_01: This has some advantages because you're using material, which is proper for the, um, for the task.
[00:27:25.380 - 00:27:37.380] SPEAKER_01: The, the problem with the post consumer material is that it in most of the cases is not proper for the geo synthetics case.
[00:27:37.380 - 00:27:46.380] SPEAKER_01: So that, that's a problem with, when you do the recycling within the same, uh, kind of material, let's say we already proved that this is technically possible.
[00:27:46.380 - 00:27:54.380] SPEAKER_01: Uh, we just proved it for a geo grid and we can for sure show it for a geo membrane on a landfill as well.
[00:27:54.380 - 00:28:11.380] SPEAKER_01: So if you, if you, if you would take a geo membrane from the landfill and give it to you and you do the processing, like a rough cleaning and, um, melting and regranulate, we can probably do a geo membrane, which fulfills the task.
[00:28:11.380 - 00:28:17.380] SPEAKER_01: And which technically probably meets the requirements because it's the same material.
[00:28:17.380 - 00:28:21.380] SPEAKER_01: The aging is usually negligible for that time.
[00:28:21.380 - 00:28:31.380] SPEAKER_01: Um, the problem already, uh, always occurs when you're mixing in material from other sources meant for other things.
[00:28:31.380 - 00:28:39.380] SPEAKER_01: So, um, as well, the, the PP content, as you mentioned, the polypropylene content is probably technically not a big issue.
[00:28:40.380 - 00:28:47.380] SPEAKER_01: Um, it's just because for the landfill application, that's most landfill, uh, and a hazardous control.
[00:28:47.380 - 00:28:55.380] SPEAKER_01: This are the 99% of the cases where you use a geo membrane, they require 100% polyethylene.
[00:28:55.380 - 00:28:56.380] SPEAKER_UNASSIGNED: Um, so that's it.
[00:28:56.380 - 00:29:08.380] SPEAKER_01: So even if we can, for the moment, even if we say, okay, yeah, um, we know that this is not an issue and so on, it's just not there.
[00:29:08.380 - 00:29:16.380] SPEAKER_01: Um, but my colleague Henning Ehrenberg is part of the, um, regulation committee at the European Union.
[00:29:16.380 - 00:29:27.380] SPEAKER_01: And from that I know for sure that they are working on changing the regulations for geosynthetics to make it possible to use recycled materials.
[00:29:27.380 - 00:29:39.380] SPEAKER_01: And I can already say that the outcome will be something like, okay, for the recycled materials, the same things apply then for virgin materials.
[00:29:39.380 - 00:29:46.380] SPEAKER_01: So there will be no difference between virgin and recycled as long as you fulfill the given requirements.
[00:29:46.380 - 00:29:49.380] SPEAKER_01: It doesn't matter if it is from recycled or from virgin.
[00:29:49.380 - 00:30:02.380] SPEAKER_01: Um, there will probably not be the, it will probably not be the case that there will be lower requirements for recycled sources for the same purpose.
[00:30:02.380 - 00:30:14.380] SPEAKER_01: So there is always the opportunity to say, okay, we define a special purpose where we, where everyone is aware of using recycled materials with lower, um, properties.
[00:30:14.380 - 00:30:16.380] SPEAKER_01: And that's, that's always possible.
[00:30:16.380 - 00:30:23.380] SPEAKER_01: But if you want to join the, the open market, you have to prove that you can deliver the same quality.
[00:30:23.380 - 00:30:38.380] SPEAKER_01: And there is already the discussion how we can, or we can come to a situation, which is like the virgin materials where you don't have to test each particular lot,
[00:30:38.380 - 00:30:48.380] SPEAKER_01: but as well put some, um, um, QC requirements on you as the, uh, uh, manufacturer or the producer of the RC material.
[00:30:48.380 - 00:31:04.380] SPEAKER_01: So that you with given, with given tests or given audits or whatsoever that everyone can rely on that, that the raw material or the recycled material has a constant quality, whatever this quality is.
[00:31:04.380 - 00:31:14.380] SPEAKER_01: But then it can be assured that the quality is constant and it's not necessary anymore to test every delivery literally.
[00:31:14.380 - 00:31:26.380] SPEAKER_01: So even, even today, so maybe that wasn't clear today, I can do a proper geosynthetics out of recycled material.
[00:31:26.380 - 00:31:27.380] SPEAKER_01: It's just not feasible.
[00:31:27.380 - 00:31:37.380] SPEAKER_01: I, I'm allowed to do that, but the amount of work and, and checking I have to put in that is just not worth doing it.
[00:31:37.380 - 00:31:47.380] SPEAKER_01: I can, if, if I get one delivery from your side and we do all the testing, we wait for four months to get the results for the aging and so on.
[00:31:47.380 - 00:31:55.380] SPEAKER_01: Then with this lot alone, I can do a geosynthetic production, whatever it is, geomembrane or whatsoever.
[00:31:55.380 - 00:31:59.380] SPEAKER_01: And I can put the, the stamp on it and say, okay, yeah, that's, that's okay.
[00:31:59.380 - 00:32:06.380] SPEAKER_01: That's fulfilling all the requirements, but that's not feasible because I can't do that in scale.
[00:32:06.380 - 00:32:07.380] SPEAKER_01: Yeah.
[00:32:07.380 - 00:32:08.380] SPEAKER_01: This is for one truck.
[00:32:08.380 - 00:32:09.380] SPEAKER_01: That's okay.
[00:32:09.380 - 00:32:14.380] SPEAKER_01: But not for, not for a hundred tons or, or 500 tons or so.
[00:32:14.380 - 00:32:18.380] SPEAKER_01: So it's not like it is, it's not like it's forbidden.
[00:32:18.380 - 00:32:28.380] SPEAKER_01: It's just not, it's, it's not possible by the amount of effort you have to put in it to make it work in scale.
[00:32:28.380 - 00:32:29.380] SPEAKER_01: Yeah.
[00:32:29.380 - 00:32:37.380] SPEAKER_01: And that's, that's even worse actually, because the, the answer of everyone is yes, you can do it.
[00:32:37.380 - 00:32:39.380] SPEAKER_01: You just have to do this, this and that.
[00:32:39.380 - 00:32:48.380] SPEAKER_01: Um, unfortunately doing that is making you unflexible because it's taking time.
[00:32:48.380 - 00:32:57.380] SPEAKER_01: We, we would need you or we, some one of us would have to have big silos to store the material,
[00:32:57.380 - 00:33:01.380] SPEAKER_01: which is under testing for the time being.
[00:33:01.380 - 00:33:03.380] SPEAKER_01: And what if it fails?
[00:33:03.380 - 00:33:04.380] SPEAKER_01: Huh?
[00:33:04.380 - 00:33:05.380] SPEAKER_01: No one knows.
[00:33:05.380 - 00:33:16.380] SPEAKER_01: And it is, um, relatively high costs for each of these tests, which even increases the price of the raw material.
[00:33:16.380 - 00:33:22.380] SPEAKER_01: So it's actually not like I can give you a paragraph where it says it's forbidden.
[00:33:22.380 - 00:33:29.380] SPEAKER_01: It, the requirements are just that stupid on RC materials or the, the requirements are easy on version materials.
[00:33:29.380 - 00:33:33.380] SPEAKER_01: And they are applied on RC materials in the same way.
[00:33:33.380 - 00:33:36.380] SPEAKER_01: And this makes it practically impossible.
[00:33:36.380 - 00:33:37.380] SPEAKER_01: Yeah.
[00:33:37.380 - 00:33:38.380] SPEAKER_UNASSIGNED: Yeah.
[00:33:38.380 - 00:33:40.380] SPEAKER_00: I understand, uh, very well.
[00:33:40.380 - 00:33:45.380] SPEAKER_00: And unfortunately, um, this is still the world of today.
[00:33:45.380 - 00:33:54.380] SPEAKER_00: And, um, luckily for instance, in packaging, we have some new regulations, uh, which, which obligate, obligates in 2030, a certain percentage of, of usage.
[00:33:54.380 - 00:34:00.380] SPEAKER_00: And this helps of course, to create also the market because it's not a matter of willing.
[00:34:00.380 - 00:34:01.380] SPEAKER_00: It's, it's a fact.
[00:34:01.380 - 00:34:07.380] SPEAKER_00: And as long as there, it's not there, I understand in other markets, it's quite, uh, quite difficult.
[00:34:07.380 - 00:34:13.380] SPEAKER_00: Nevertheless, um, with our plant, we have some collaborations running with some, um, more and more.
[00:34:13.380 - 00:34:24.380] SPEAKER_00: We have virgin polymer producers who are integrating recycled contents to give a ready to use 30 percentage, uh, range to, to converters.
[00:34:24.380 - 00:34:32.380] SPEAKER_00: So they, they, so that they, so that they don't need to worry about all those, uh, things that you are, uh, mentioning.
[00:34:32.380 - 00:34:40.380] SPEAKER_00: So this goes from, uh, Total Energies, uh, Borealis, uh, also Ravago with the manufacturing that we're having.
[00:34:40.380 - 00:34:47.380] SPEAKER_01: Um, I'm pretty sure it will not take too long to, that this is established.
[00:34:47.380 - 00:34:48.380] SPEAKER_01: Yeah.
[00:34:48.380 - 00:34:58.380] SPEAKER_01: But you need, as you say, you need one of the big players, um, taking the responsibility and doing the paperwork, let's say.
[00:34:58.380 - 00:35:07.380] SPEAKER_01: So yeah, as soon as they can proclaim, okay, we take care that what's leaving our plant has a constant quality.
[00:35:07.380 - 00:35:13.380] SPEAKER_01: So whatever this is, constant quality, and we can ensure that this is always the case.
[00:35:13.380 - 00:35:23.380] SPEAKER_01: Then we, as the mid user, um, don't have any problem as long as the result of the product is feasible.
[00:35:23.380 - 00:35:24.380] SPEAKER_01: Huh?
[00:35:24.380 - 00:35:29.380] SPEAKER_01: So, but nowadays, um, we did some test runs, not on geomembranes, but on other products.
[00:35:29.380 - 00:35:33.380] SPEAKER_01: We did some test runs with chemical recycled material.
[00:35:33.380 - 00:35:36.380] SPEAKER_01: So there is a, I think it was a polyester in that case.
[00:35:36.380 - 00:35:47.380] SPEAKER_01: They added during the, they added deep polymerized, um, monomers of recycled materials to the polymerization process.
[00:35:47.380 - 00:35:50.380] SPEAKER_01: So at the end, it is like virgin material.
[00:35:50.380 - 00:35:55.380] SPEAKER_01: Just, just the, the, the atoms and the molecules have been reused.
[00:35:55.380 - 00:35:55.380] SPEAKER_UNASSIGNED: Yeah.
[00:35:55.380 - 00:35:56.380] SPEAKER_01: It is.
[00:35:56.380 - 00:36:02.380] SPEAKER_01: And even that gives us trouble in the explanation or in, yeah.
[00:36:02.380 - 00:36:07.380] SPEAKER_01: It's technically, you can't divide it from virgin material.
[00:36:07.380 - 00:36:08.380] SPEAKER_00: Yeah.
[00:36:08.380 - 00:36:09.380] SPEAKER_00: I see.
[00:36:09.380 - 00:36:15.380] SPEAKER_00: But that's, that's, that shows the difficulty here because with recycled material, this is just virgin material with the certificate.
[00:36:15.380 - 00:36:16.380] SPEAKER_00: Yeah.
[00:36:16.380 - 00:36:19.380] SPEAKER_00: Because at the end, it's just the same virgin material.
[00:36:19.380 - 00:36:20.380] SPEAKER_00: So, uh, I understand.
[00:36:20.380 - 00:36:28.380] SPEAKER_00: Um, just for, for us, it could, it would be good, uh, if we can get some kind of idea with the, for the geo membranes.
[00:36:28.380 - 00:36:30.380] SPEAKER_00: Uh, uh, uh, okay.
[00:36:30.380 - 00:36:38.380] SPEAKER_00: The virgin material you are using not to make a copy paste, but to have a bit an idea about those allegation and breaks and, uh, and other things.
[00:36:38.380 - 00:36:48.380] SPEAKER_00: And then from our sides, I will just, with our, um, partners that we are making hybrids, virgin and recycle, we'll just, uh, exchange some thoughts.
[00:36:48.380 - 00:36:57.380] SPEAKER_00: Uh, if there would be no regulatory boundary, uh, what is feasible and what is not feasible because for the virgin by parts, they're using some kind of, yeah, we call it boosters.
[00:36:57.380 - 00:37:07.380] SPEAKER_00: It's, it's overqualified virgin material to compensate for, for, uh, yeah, the lack of parameters and, and, and some, some, some RC material.
[00:37:07.380 - 00:37:09.380] SPEAKER_00: This has to be research.
[00:37:09.380 - 00:37:23.380] SPEAKER_01: We have done some, unfortunately mixing of materials, especially of high density and low density material, give some results, which are, which we didn't expect and which were unpredictable for us.
[00:37:23.380 - 00:37:33.380] SPEAKER_01: So we, in our testing, we added very high density material in very low percentage to our typical resin.
[00:37:33.380 - 00:37:43.380] SPEAKER_01: And for example, the stress crack resistance, even with 2% high density material dropped from usually 3000 hours plus.
[00:37:43.380 - 00:37:55.380] SPEAKER_01: So our longest test we stopped at 3000 hours for that test dropped to less than 50 by just adding one or 2% of HD, HD material.
[00:37:55.380 - 00:38:08.380] SPEAKER_01: So it's not like mixing milk and cacao, for example, it is, there is something happening, which is not like they don't behave, um, in relation to the mixture ratio.
[00:38:08.380 - 00:38:11.380] SPEAKER_01: So this is a very interesting field.
[00:38:11.380 - 00:38:14.380] SPEAKER_01: So, um, but, um, what I can mention is yes.
[00:38:14.380 - 00:38:22.380] SPEAKER_01: Having a ready-made material, which is already, let's say 20% recycled together with virgin, with a certificate is always welcome.
[00:38:22.380 - 00:38:27.380] SPEAKER_01: From the technical point of view, we can also mix in our extruders.
[00:38:27.380 - 00:38:31.380] SPEAKER_01: We don't have this double screw mixing extruders.
[00:38:31.380 - 00:38:35.380] SPEAKER_01: We have a single screw extruders, but with, um, barriers and so on.
[00:38:35.380 - 00:38:40.380] SPEAKER_01: So we do regular mixing of same kind of materials.
[00:38:40.380 - 00:38:45.380] SPEAKER_01: So different raw materials in the same area of MFR and so on.
[00:38:45.380 - 00:38:48.380] SPEAKER_01: So we do regular mixing on that.
[00:38:48.380 - 00:38:52.380] SPEAKER_01: Technically, as I said, technically is not the biggest difficulty.
[00:38:52.380 - 00:38:55.380] SPEAKER_01: It is like how it behaves afterwards.
[00:38:55.380 - 00:38:57.380] SPEAKER_01: So is it fit for the purpose?
[00:38:57.380 - 00:39:01.380] SPEAKER_01: And the big thing is regulation things.
[00:39:01.380 - 00:39:02.380] SPEAKER_01: Regulation.
[00:39:02.380 - 00:39:03.380] SPEAKER_03: Yeah.
[00:39:03.380 - 00:39:04.380] SPEAKER_01: Yeah.
[00:39:04.380 - 00:39:13.380] SPEAKER_01: And, um, if you're interested, we can do some quick, quick tests, quick research eventually.
[00:39:13.380 - 00:39:18.380] SPEAKER_01: So every now and then we do some tests on a lab extruder scale.
[00:39:18.380 - 00:39:28.380] SPEAKER_01: So just 30 centimeters wide, a couple of kilograms, um, to get an idea what we can expect from this material.
[00:39:28.380 - 00:39:44.380] SPEAKER_01: Uh, we can incorporate in our next test run, maybe a mixture of 20% of your RC material together with 80% of our, uh, virgin material or even 100% just to get an idea what we would end up with.
[00:39:44.380 - 00:39:46.380] SPEAKER_01: Yeah.
[00:39:46.380 - 00:39:50.380] SPEAKER_01: So then we were talking about 20, let's say 50 kilograms.
[00:39:50.380 - 00:39:51.380] SPEAKER_00: Yeah.
[00:39:51.380 - 00:40:05.380] SPEAKER_00: Well, honestly, I think the only thing what would make sense is, um, is a hybrid product where already 20% is integrated and made by, uh, uh, Total or Borealis or Avago.
[00:40:05.380 - 00:40:09.380] SPEAKER_00: That's, that's three main or Bazel, Bazel could do it as well.
[00:40:09.380 - 00:40:11.380] SPEAKER_00: It's the main players we're working with together.
[00:40:11.380 - 00:40:21.380] SPEAKER_00: Um, uh, 100% pure RC from our sites will never make the specification because it's HD based.
[00:40:21.380 - 00:40:30.380] SPEAKER_00: I'm now more thinking about, uh, uh, postcon, because if you want to do it at scale, you need post-consumer material, which is available everywhere in Europe.
[00:40:30.380 - 00:40:33.380] SPEAKER_00: Otherwise you will never manage to make, to do something on that scale.
[00:40:33.380 - 00:40:34.380] SPEAKER_00: That's the second point.
[00:40:34.380 - 00:40:35.380] SPEAKER_00: Yeah.
[00:40:35.380 - 00:40:43.380] SPEAKER_00: So this means if, if, if, if from our bottles are everywhere and packaging and, but I think it's will be very hard or impossible.
[00:40:43.380 - 00:40:46.380] SPEAKER_00: The films are also everywhere in, um, in Europe.
[00:40:46.380 - 00:40:58.380] SPEAKER_00: So I think we mainly have to look at an, an LD, LLD mixtures from, um, from films, um, to manage the elongation and breaks and this kinds of parameters.
[00:40:58.380 - 00:41:01.380] SPEAKER_00: But, uh, that's, that's something I want to discuss with them first.
[00:41:01.380 - 00:41:02.380] SPEAKER_00: Okay.
[00:41:02.380 - 00:41:12.380] SPEAKER_00: What type of origin could be usable combined with your boosters, uh, from, from Virgin to end up with something which, which comes in the range with the current spec you are using.
[00:41:12.380 - 00:41:19.380] SPEAKER_00: And, uh, and of course, then I want to challenge them as well with, uh, with the regulations and what kind of, uh, things are asked.
[00:41:19.380 - 00:41:32.380] SPEAKER_00: And, uh, they have also people, people working monthly on that because they also want to open markets for high quality recycled material where currently, um, no recycled is being used.
[00:41:32.380 - 00:41:33.380] SPEAKER_01: Yeah.
[00:41:33.380 - 00:41:35.380] SPEAKER_01: That's a, that's the availability is a big point.
[00:41:35.380 - 00:41:44.380] SPEAKER_01: So for our tests of recycling geosynthetics, um, so make out of a, use geosynthetics, make new ones.
[00:41:44.380 - 00:41:49.380] SPEAKER_01: One of the biggest struggles besides all the techniques is the availability.
[00:41:49.380 - 00:41:57.380] SPEAKER_01: So geosynthetics, they are made to last at least 25 years in constructions, some 100 years.
[00:41:57.380 - 00:42:00.380] SPEAKER_01: So they are just not available in numbers on the market.
[00:42:00.380 - 00:42:04.380] SPEAKER_01: There are three tons there, five tons there.
[00:42:06.380 - 00:42:09.380] SPEAKER_00: Man, you can, you will never manage to do something at scale.
[00:42:09.380 - 00:42:10.380] SPEAKER_01: No, no.
[00:42:10.380 - 00:42:11.380] SPEAKER_01: Yeah.
[00:42:11.380 - 00:42:15.380] SPEAKER_00: Of course, consumer is household packaging material, uh, commercial films.
[00:42:15.380 - 00:42:24.380] SPEAKER_00: Um, that's the main markets you will find, which you will found everywhere in every country in Europe, where at least there's some collection.
[00:42:24.380 - 00:42:31.380] SPEAKER_00: So, uh, so if you want to do something at scale, you have to, this, this has to be the basis from, from the recycled content.
[00:42:31.380 - 00:42:32.380] SPEAKER_02: Yeah.
[00:42:32.380 - 00:42:35.380] SPEAKER_02: So scaling is probably the right word.
[00:42:35.380 - 00:42:48.380] SPEAKER_02: Um, we have now learned there's one big column, uh, this part of discussion, which would be a win-win situation in the best case, maybe in a few, in a couple of years.
[00:42:48.380 - 00:42:49.380] SPEAKER_02: Yeah.
[00:42:49.380 - 00:43:00.380] SPEAKER_02: Um, the other part that is, uh, where I actually don't know, is this topic still, uh, of interest would be the column with circular economy.
[00:43:00.380 - 00:43:17.380] SPEAKER_02: Um, please, would this be an option for you to make a reuse of your HDPE for circular economy reasons to build a story out of that?
[00:43:17.380 - 00:43:21.380] SPEAKER_02: Or is this not of interest?
[00:43:21.380 - 00:43:28.380] SPEAKER_03: The one of which we recycle, uh, uh, recycler are temporary covering, you mean?
[00:43:28.380 - 00:43:29.380] SPEAKER_03: Yeah.
[00:43:29.380 - 00:43:34.380] SPEAKER_03: I think at this, at this stage would be very difficult, uh, to do so.
[00:43:34.380 - 00:43:36.380] SPEAKER_03: But I, I think Jeroen, you have a better view on it.
[00:43:36.380 - 00:43:37.380] SPEAKER_03: Yeah.
[00:43:37.380 - 00:43:40.380] SPEAKER_03: But I think in terms of, yeah, feasibility.
[00:43:40.380 - 00:43:43.380] SPEAKER_00: On, on our plants, it's, it's not possible.
[00:43:43.380 - 00:43:47.380] SPEAKER_00: Our plant is built for post-consumer, post-consumer households, uh, waste.
[00:43:47.380 - 00:43:50.380] SPEAKER_00: And so our inputs are bells of sorted bottles.
[00:43:50.380 - 00:43:55.380] SPEAKER_00: So, um, it could be very, the same thing you are mentioning, eh?
[00:43:55.380 - 00:44:01.380] SPEAKER_00: We have to, we would have to do very small lots of, of those temporary film material.
[00:44:01.380 - 00:44:08.380] SPEAKER_00: We should, we would have to do external size reduction or baling or whatever to precondition it so we can feed it into our plant.
[00:44:08.380 - 00:44:17.380] SPEAKER_00: So, I think it's very difficult to, to get that to, um, to, uh, at scale level, uh, at, at our recycling plants.
[00:44:17.380 - 00:44:24.380] SPEAKER_00: Um, we have such types of films sometimes that we collect, that we deliver to, uh, to a local recycle,
[00:44:24.380 - 00:44:30.380] SPEAKER_00: which is using it in very low-end application because getting it to a recycling line is one.
[00:44:30.380 - 00:44:35.380] SPEAKER_00: But getting it to a level where it can be reused for high-end applications is another story.
[00:44:35.380 - 00:44:40.380] SPEAKER_00: I mean, our washing line, we, uh, we built that for a preparation for a PPWR.
[00:44:40.380 - 00:44:43.380] SPEAKER_00: So that's for a new packaging regulation.
[00:44:43.380 - 00:44:45.380] SPEAKER_00: So we have four washing steps.
[00:44:45.380 - 00:44:50.380] SPEAKER_00: We can, uh, we can, um, increase the temperature of, uh, of one of the washing steps.
[00:44:50.380 - 00:44:57.380] SPEAKER_00: We asked caustic soda, we, to prepare as much as possible to get it to higher-end applications
[00:44:57.380 - 00:45:00.380] SPEAKER_00: and packaging and color sorting, all kinds of, of those things.
[00:45:00.380 - 00:45:09.380] SPEAKER_00: And so, um, yeah, at this point, if it goes to lower-end applications, uh, uh, then it's,
[00:45:09.380 - 00:45:12.380] SPEAKER_00: or a plant is not the right plant to, to, to put it through.
[00:45:12.380 - 00:45:18.380] SPEAKER_00: So the circular economy ID, uh, also, I think it's about lower quantities.
[00:45:18.380 - 00:45:21.380] SPEAKER_00: And I don't know the quantities, uh, which, which are coming out of that.
[00:45:21.380 - 00:45:26.380] SPEAKER_00: But, um, my opinion, that's very difficult to do that at scale.
[00:45:26.380 - 00:45:28.380] SPEAKER_00: Getting it recycled is one thing.
[00:45:28.380 - 00:45:30.380] SPEAKER_00: And then to lower-end application.
[00:45:30.380 - 00:45:32.380] SPEAKER_00: And then we should aim as much as possible for.
[00:45:32.380 - 00:45:34.380] SPEAKER_00: So that's not a discussion.
[00:45:34.380 - 00:45:37.380] SPEAKER_00: But to set something up, to reuse it back into your applications,
[00:45:37.380 - 00:45:43.380] SPEAKER_00: it has to come from post-consumer, uh, higher availability streams, um,
[00:45:43.380 - 00:45:48.380] SPEAKER_00: um, and then do the right compounding steps to get the ready-to-use, uh, polymer
[00:45:48.380 - 00:45:53.380] SPEAKER_00: without any stress at converting site with the right, uh, certificates and ever.
[00:45:53.380 - 00:46:01.380] SPEAKER_00: And, and then that's the only way I see to, to get recycled content into your products, to be honest.
[00:46:01.380 - 00:46:02.380] SPEAKER_UNASSIGNED: Yeah.
[00:46:02.380 - 00:46:05.380] SPEAKER_03: Is it a question, Martin and Christian?
[00:46:05.380 - 00:46:12.380] SPEAKER_03: Because we're now at Van Heede, we're questioning if a recycled substitute is available.
[00:46:12.380 - 00:46:15.380] SPEAKER_03: Is it also, and you say, yeah, the market is small.
[00:46:15.380 - 00:46:20.380] SPEAKER_03: Have you ever, let's say, gotten the interest or the question from other parties?
[00:46:20.380 - 00:46:24.380] SPEAKER_03: Because we're looking at it for, let's say, a very narrow scope.
[00:46:24.380 - 00:46:29.380] SPEAKER_03: Let's say temporary cover, smaller than, or used less than five years.
[00:46:29.380 - 00:46:36.380] SPEAKER_03: But I don't know if in your market you've had the question before on, hey, do you also offer a version,
[00:46:36.380 - 00:46:40.380] SPEAKER_03: a version with recycled material?
[00:46:40.380 - 00:46:49.380] SPEAKER_02: Well, in this, in this application, uh, that we focus on here, uh, what you just heard from Martin's explanation,
[00:46:49.380 - 00:46:56.380] SPEAKER_02: we are, we are always forced, uh, to generate solutions that are very long lasting, minimum 100 years.
[00:46:56.380 - 00:47:04.380] SPEAKER_02: Um, this, this is the highest argument usually for, for our customers to be, have the safety that the constructions
[00:47:04.380 - 00:47:06.380] SPEAKER_02: they are building last for 100 years.
[00:47:06.380 - 00:47:16.380] SPEAKER_02: And if you can give, uh, as well, some, uh, some, yeah, research results that can have an outlook on the time after,
[00:47:16.380 - 00:47:22.380] SPEAKER_02: yeah, where we are actually thinking, okay, our solutions will also survive 400 years.
[00:47:22.380 - 00:47:26.380] SPEAKER_02: That's the biggest argument for the moment.
[00:47:26.380 - 00:47:27.380] SPEAKER_02: Yeah.
[00:47:27.380 - 00:47:31.380] SPEAKER_02: Everything what we are discussing here now is, is of course, I would say part of the future.
[00:47:31.380 - 00:47:31.380] SPEAKER_UNASSIGNED: Yeah.
[00:47:31.380 - 00:47:49.380] SPEAKER_02: That you also think about how can we bring in recycled material for those solutions, but, uh, in the, in the same moment, uh, staying on the same, on the safe side and, uh, making something out of it, uh, that is really protecting also the third and the fourth generation after us.
[00:47:49.380 - 00:47:50.380] SPEAKER_02: Yeah.
[00:47:50.380 - 00:48:16.380] SPEAKER_01: That's one of the, what Christian describes is the, this geomembranes are one of the most sensitive, um, applications of geosynthetics because you're containing biohazards and really no one is willing to take any risk on that.
[00:48:16.380 - 00:48:25.380] SPEAKER_01: Uh, if you're talking about non-wovens, for example, which act as a filter layer or something like that, the risk of failure is much less.
[00:48:25.380 - 00:48:31.380] SPEAKER_01: So people, uh, so there, it would be much easier to convince people to take some risk.
[00:48:31.380 - 00:48:38.380] SPEAKER_01: Even if we are convinced there is none, but there is still these, uh, it is lower quality.
[00:48:38.380 - 00:48:48.380] SPEAKER_01: Um, then the outcome of, of failure would be probably not even noticeable in, in most of the cases, but for geomembranes is really, it is waste containment.
[00:48:48.380 - 00:48:52.380] SPEAKER_01: No one wants to even think about that.
[00:48:52.380 - 00:48:57.380] SPEAKER_01: There is a hole or a crack or, um, uh, a bad welding.
[00:48:57.380 - 00:49:06.380] SPEAKER_01: Um, if I can have the better, uh, material in, in air quotes for the same price.
[00:49:06.380 - 00:49:22.380] SPEAKER_01: And that's actually, if, if you would be half the price with the recycling, then probably some would think for some applications about it, but just think it from, from the, from your own perspective.
[00:49:22.380 - 00:49:36.380] SPEAKER_01: Um, you're buying a material with lower quality or lower, um, promise of quality for a temporary job, which is also more expensive.
[00:49:37.380 - 00:49:38.380] SPEAKER_01: Yeah.
[00:49:38.380 - 00:49:48.380] SPEAKER_01: No one there's, there's just a very low, uh, amount of people who is willing to pay extra for these carbon footprint.
[00:49:48.380 - 00:49:53.380] SPEAKER_01: Most will go with the lowest price, unfortunately.
[00:49:53.380 - 00:50:00.380] SPEAKER_01: So there are, there are parts in geosynthetics, which are probably a little bit easier from a technical point of view and where the risk is much lower.
[00:50:00.380 - 00:50:06.380] SPEAKER_01: And even those are not for, for the moment, they're not accepting the extra costs.
[00:50:08.380 - 00:50:15.380] SPEAKER_01: Because in the, in the, in the mind of the people, usually recycling is combined with lower quality and lower costs.
[00:50:18.380 - 00:50:22.380] SPEAKER_01: Um, in the Netherlands, you're, you're, you're Belgium, right?
[00:50:23.380 - 00:50:23.380] SPEAKER_UNASSIGNED: Belgium.
[00:50:23.380 - 00:50:23.380] SPEAKER_UNASSIGNED: Yeah.
[00:50:23.380 - 00:50:24.380] SPEAKER_01: Yeah.
[00:50:24.380 - 00:50:39.380] SPEAKER_01: In the Netherlands, I hear every now and then about RC material to be used, but even still with the same requirements, which is for the moment, just impossible.
[00:50:41.380 - 00:50:42.380] SPEAKER_01: Okay.
[00:50:42.380 - 00:50:45.380] SPEAKER_01: But they're more on the, so recycled.
[00:50:45.380 - 00:50:46.380] SPEAKER_01: Yes.
[00:50:46.380 - 00:50:51.380] SPEAKER_01: But they're more on interestingly bio based standard polymers.
[00:50:51.380 - 00:51:01.380] SPEAKER_01: So a bio based polyester or bio based polyethylene, um, which at the end, which at the end is the same as virgin material.
[00:51:01.380 - 00:51:02.380] SPEAKER_01: Yeah.
[00:51:02.380 - 00:51:03.380] SPEAKER_01: Yeah.
[00:51:03.380 - 00:51:04.380] SPEAKER_01: Yeah.
[00:51:04.380 - 00:51:05.380] SPEAKER_01: Yeah.
[00:51:05.380 - 00:51:06.380] SPEAKER_01: It's the product itself.
[00:51:06.380 - 00:51:09.380] SPEAKER_01: You can't tell if it's from, from corn or from, from crude oil.
[00:51:09.380 - 00:51:10.380] SPEAKER_01: So.
[00:51:10.380 - 00:51:11.380] SPEAKER_UNASSIGNED: Yeah.
[00:51:11.380 - 00:51:12.380] SPEAKER_UNASSIGNED: Yeah.
[00:51:12.380 - 00:51:13.380] SPEAKER_UNASSIGNED: Okay.
[00:51:13.380 - 00:51:19.380] SPEAKER_00: But for me, it was interesting because geo membranes is for me a new application of recycled content.
[00:51:19.380 - 00:51:21.380] SPEAKER_00: So I learned already a lot.
[00:51:21.380 - 00:51:42.380] SPEAKER_00: At this point I want to dig a bit with my polymer producers into the technical demands and then the norms of itself.
[00:51:42.380 - 00:51:54.380] SPEAKER_00: And then who knows, within two, three, four years, because the world is spinning very, very fast around and at least we are prepared.
[00:51:54.380 - 00:52:02.380] SPEAKER_00: And yeah, for me that was a good first intro session and who knows where we will be in a couple of years.
[00:52:02.380 - 00:52:06.380] SPEAKER_01: As you said, just think about the bottles, the polyester bottles.
[00:52:06.380 - 00:52:14.380] SPEAKER_01: Maybe there will be some rule like you have to use 30% of recycled materials, then the whole game changes.
[00:52:14.380 - 00:52:16.380] SPEAKER_03: Yeah, yeah.
[00:52:18.380 - 00:52:21.380] SPEAKER_03: Are there also other competitors already working on this?
[00:52:21.380 - 00:52:29.380] SPEAKER_03: And let's say as a vision we want to be the first one offering a recycled solution or are you not aware of?
[00:52:29.380 - 00:52:43.380] SPEAKER_01: Not that I'm aware. So there are some, to be frank, there are some competitors who are showing example cases where they did what we as well did.
[00:52:43.380 - 00:52:56.380] SPEAKER_01: So using a geotextile or geosynthetic and recycled this particular geosynthetic in a same kind of geosynthetic.
[00:52:56.380 - 00:52:58.380] SPEAKER_01: So that's what I'm aware of.
[00:52:58.380 - 00:53:08.380] SPEAKER_01: So buying, especially consumer grade recycling materials, I'm not aware of, let's say it like that.
[00:53:08.380 - 00:53:09.380] SPEAKER_03: Okay.
[00:53:09.380 - 00:53:10.380] SPEAKER_03: We have.
[00:53:10.380 - 00:53:11.380] SPEAKER_UNASSIGNED: All right.
[00:53:11.380 - 00:53:25.380] SPEAKER_01: Typically the assumption, and maybe that's the last word, the assumption of using recycled polyester is that this might be easier.
[00:53:25.380 - 00:53:45.380] SPEAKER_01: Because as far as we have been described is that the recycling materials stream is much cleaner because it's the, if you use the bottles, the bottles are very well sorted by the consumer himself.
[00:53:45.380 - 00:54:02.380] SPEAKER_01: And the material is very consistent and so on, which is just not the case for what you just described, PP and PE, which is more like packaging yogurt bins and so on.
[00:54:02.380 - 00:54:03.380] SPEAKER_01: Yeah.
[00:54:03.380 - 00:54:12.380] SPEAKER_01: So you will probably, the first, the first appearing recycled material product will probably be polyester.
[00:54:12.380 - 00:54:13.380] SPEAKER_03: Yeah.
[00:54:13.380 - 00:54:17.380] SPEAKER_01: If I would bet some money, that would be my bet.
[00:54:17.380 - 00:54:18.380] SPEAKER_00: Yeah.
[00:54:18.380 - 00:54:26.380] SPEAKER_00: But I can align as well that the post-consumer PT bottles are, yeah, it's only from bottles.
[00:54:26.380 - 00:54:31.380] SPEAKER_00: So the, the variability of parameters are very, it's very narrow.
[00:54:31.380 - 00:54:36.380] SPEAKER_00: Um, so I can understand what you're saying, Mark.
[00:54:36.380 - 00:54:37.380] SPEAKER_00: Yeah.
[00:54:37.380 - 00:54:38.380] SPEAKER_00: Yeah.
[00:54:38.380 - 00:54:39.380] SPEAKER_01: Yeah.
[00:54:39.380 - 00:54:40.380] SPEAKER_01: It's plus and minus, huh?
[00:54:40.380 - 00:54:44.380] SPEAKER_01: So it's very narrow, but you know what you get.
[00:54:44.380 - 00:54:45.380] SPEAKER_01: Yeah.
[00:54:45.380 - 00:54:46.380] SPEAKER_00: Yeah.
[00:54:46.380 - 00:54:47.380] SPEAKER_UNASSIGNED: Yeah.
[00:54:47.380 - 00:54:48.380] SPEAKER_UNASSIGNED: Yeah.
[00:54:48.380 - 00:54:49.380] SPEAKER_UNASSIGNED: Yeah.
[00:54:49.380 - 00:54:50.380] SPEAKER_01: Yeah.
[00:54:50.380 - 00:54:51.380] SPEAKER_01: Very interesting for me as well.
[00:54:51.380 - 00:54:52.380] SPEAKER_01: Thank you very much.
[00:54:52.380 - 00:54:58.380] SPEAKER_03: No, thanks to, uh, the, the four of you, uh, for the interesting brainstorm.
[00:54:58.380 - 00:55:01.380] SPEAKER_03: Although I have to admit, I was very astonished about the knowledge.
[00:55:01.380 - 00:55:03.380] SPEAKER_03: For me, it was a bit of Chinese.
[00:55:03.380 - 00:55:08.380] SPEAKER_03: So, um, uh, but, uh, you, you explained it very well.
[00:55:08.380 - 00:55:10.380] SPEAKER_03: So, um, thanks for that.
[00:55:10.380 - 00:55:12.380] SPEAKER_03: That's when you bring in two experts.
[00:55:12.380 - 00:55:13.380] SPEAKER_03: Yeah.
[00:55:13.380 - 00:55:17.380] SPEAKER_03: And we were like, no, but, uh, it's good.
[00:55:17.380 - 00:55:23.380] SPEAKER_03: Uh, it's good to have at least a view on the market and where it would be going, uh,
[00:55:23.380 - 00:55:24.380] SPEAKER_03: within the next couple of years.
[00:55:24.380 - 00:55:29.380] SPEAKER_03: And indeed, as you said, if we're ready from our point of view or our stand, I think it's
[00:55:29.380 - 00:55:30.380] SPEAKER_03: good.
[00:55:30.380 - 00:55:34.380] SPEAKER_01: I'm pretty sure that there will be changes in the next upcoming years.
[00:55:34.380 - 00:55:39.380] SPEAKER_01: Um, so on the regulation side, on the technical side, everything is developing fast.
[00:55:41.380 - 00:55:47.380] SPEAKER_01: Um, with the situation in Middle East, maybe there will be a little more consequence in doing
[00:55:47.380 - 00:55:50.380] SPEAKER_01: whatever net is necessary for recycling.
[00:55:50.380 - 00:55:59.380] SPEAKER_01: If the oil is not that available anymore, that we are used to, or, um, in the worst, or even worse.
[00:55:59.380 - 00:56:05.380] SPEAKER_01: The, the polymers made in Middle East can't leave Middle East.
[00:56:05.380 - 00:56:12.380] SPEAKER_01: So yes, I expect that there will be some acceleration on that in the upcoming years.
[00:56:12.380 - 00:56:18.380] SPEAKER_02: It always needs financial advantages or pressure to change things.
[00:56:19.380 - 00:56:21.380] SPEAKER_02: Unfortunately, that's our world.
[00:56:21.380 - 00:56:22.380] SPEAKER_03: Yep.
[00:56:24.380 - 00:56:25.380] SPEAKER_UNASSIGNED: All right.
[00:56:25.380 - 00:56:26.380] SPEAKER_03: Okay.
[00:56:26.380 - 00:56:27.380] SPEAKER_02: We won't.
[00:56:27.380 - 00:56:28.380] SPEAKER_03: Thank you very much, everybody.
[00:56:28.380 - 00:56:29.380] SPEAKER_02: Yes.
[00:56:29.380 - 00:56:30.380] SPEAKER_02: Indeed.
[00:56:30.380 - 00:56:31.380] SPEAKER_02: Yeah.
[00:56:31.380 - 00:56:32.380] SPEAKER_02: Thanks for this interesting exchange.
[00:56:32.380 - 00:56:36.380] SPEAKER_02: Let's, uh, stay connected with each other.
[00:56:36.380 - 00:56:37.380] SPEAKER_02: Yes.
[00:56:37.380 - 00:56:42.380] SPEAKER_02: And if there's some interest, uh, to, to prove some things, yeah, please do not hesitate to
[00:56:42.380 - 00:56:43.380] SPEAKER_02: come back to us.
[00:56:44.380 - 00:56:51.380] SPEAKER_02: And, uh, yeah, Dries, I think we will stay in contact, uh, now, anyhow, regarding the, uh,
[00:56:51.380 - 00:56:52.380] SPEAKER_02: The upcoming tender.
[00:56:52.380 - 00:56:53.380] SPEAKER_02: The upcoming tenders.
[00:56:53.380 - 00:56:54.380] SPEAKER_02: Yeah.
[00:56:54.380 - 00:56:57.380] SPEAKER_02: And to see what, where, where it brings us together then.
[00:56:57.380 - 00:56:58.380] SPEAKER_02: Yes.
[00:56:58.380 - 00:56:59.380] SPEAKER_03: Yes.
[00:56:59.380 - 00:56:59.380] SPEAKER_UNASSIGNED: Indeed.
[00:56:59.380 - 00:57:06.380] SPEAKER_03: Normally end of this week, latest, beginning of next week, we will send out, uh, the tender.
[00:57:06.380 - 00:57:09.380] SPEAKER_03: So we will keep you in, uh, in copy.
[00:57:09.380 - 00:57:10.380] SPEAKER_03: All right.
[00:57:10.380 - 00:57:11.380] SPEAKER_02: Good.
[00:57:11.380 - 00:57:12.380] SPEAKER_02: All right.
[00:57:12.380 - 00:57:13.380] SPEAKER_03: Good.
[00:57:13.380 - 00:57:13.920] SPEAKER_UNASSIGNED: All right.
File diff suppressed because one or more lines are too long
@@ -1,575 +0,0 @@
[00:00:00.000 - 00:00:07.880] Well it's a Monday. Weekend was too short as always.
[00:00:07.880 - 00:00:22.380] Everything's good. How many of your colleagues are joining? Jurek and Jeroen both coming?
[00:00:22.380 - 00:00:36.180] Normally I invite Jeroen. There he comes. I think Jurek will not join.
[00:00:36.180 - 00:00:51.160] Welcome. Hello to everybody. Jurek will not join, that was your question. I see he's in
[00:00:51.160 - 00:00:56.320] a meeting so what he said as it will probably be a technical meeting or a more
[00:00:56.320 - 00:01:02.020] technical meeting I will correct get the info from my colleagues. Yes I think the
[00:01:02.020 - 00:01:07.660] aim of today's meeting is to to get to know more to get to know more about let's
[00:01:07.660 - 00:01:14.800] say the specifications in terms of using the recycled material from Van Heden and
[00:01:14.800 - 00:01:25.660] and if we can let's say find a solution or if we can work together on this front as well since it was currently still at an early stage
[00:01:25.660 - 00:01:36.520] where we in the previous meeting discussed the potential opportunity and then Christian forwarded based upon I think it's your Martin's requirements.
[00:01:36.520 - 00:01:47.380] And then I forwarded it to Jeroen our expert at Van Heden and then he I think forwarded some additional questions.
[00:01:47.380 - 00:01:58.240] Yeah so before we start we should get something straight when Christian and me were starting
[00:01:58.240 - 00:02:05.380] talking about or when Christian told me about your ideas what to do there was I assumed that it was that it would be about a limited a limited amount of material which is on your side which you do recycle and you thought about okay we can do it.
[00:02:05.380 - 00:02:18.380] We can reuse this particular material for our purpose on our own landfills so that's what I understood the questions you sent they are all valid and this is all most of that is well known.
[00:02:18.380 - 00:02:34.380] But to me that sounded like a general offer to use recycled material to use recycled material in our production and so first of all was that was that your intention?
[00:02:34.380 - 00:02:55.380] So I think first we discussed with Christian in the last meeting if it was possible to re-use HDPE foil which we use for a temporary basis and then get back to let's say the recycling of HDPE foil.
[00:02:55.380 - 00:03:18.380] But I think this was deemed to be very difficult since it was also of course polluted and also difficult to let's say yeah you put it on the dirt you have to pull it back it's contaminated.
[00:03:18.380 - 00:03:33.380] And then Jürich I think switched his view to okay at Van Heide we also have plastics recycling which is not only linked to HDPE foil.
[00:03:33.380 - 00:03:45.380] And that was let's say the broader discussion could we be or could the products that we supply or foresee be also utilized in your production process.
[00:03:45.380 - 00:03:52.380] So this is okay if this is a general question then unfortunately no and yes.
[00:03:52.380 - 00:03:59.380] So in general I have to I have to do a little bigger circle.
[00:03:59.380 - 00:04:07.380] It is it is less on the side if we can technically process these kind of materials.
[00:04:07.380 - 00:04:16.380] It's more like we can't make any product of of that for any market we are working on.
[00:04:16.380 - 00:04:20.380] The problem is not the technical process ability.
[00:04:20.380 - 00:04:34.380] So if we follow some standards or and some let's say some requirements like MFR has to be in a certain range and so on and there has to be a minimum of stabilization and whatsoever.
[00:04:34.380 - 00:04:39.380] But that's nothing you can fix which you cannot fix with a master batch for example.
[00:04:39.380 - 00:04:52.380] But all this or but a lot of regulations standards and so on just prohibit using of as by now.
[00:04:52.380 - 00:04:57.380] Yeah, just prohibit the usage of external recycling material.
[00:04:57.380 - 00:05:09.380] So we're just not allowed to use post consumer post industrial recycling for making geo membranes as geo membranes.
[00:05:09.380 - 00:05:21.380] And the main problem about that is whenever you want to claim a durability of more than five years then you have to prove certain things.
[00:05:21.380 - 00:05:22.380] So that's where it begins.
[00:05:22.380 - 00:05:38.380] So to get a CE marking, for example, you have to prove basically every lot you use, you have to prove that the aging behavior and so on.
[00:05:38.380 - 00:05:56.380] So of course, we don't do that for virgin material because for virgin material it is assumed as long as the QC of the manufacturer of the virtual material is checked every it's audited in regular times and so on.
[00:05:56.380 - 00:06:14.380] It can be assumed that the material stays always the same and so on and therefore they elongated this timeframe where you have to recheck this to about five years if I'm not wrong for RC material where you don't actually know what material went into that lot.
[00:06:14.380 - 00:06:22.380] You probably can't tell if this was yogurt bins or whatsoever.
[00:06:22.380 - 00:06:25.380] You technically have to do this for every lot.
[00:06:25.380 - 00:06:29.380] And these tests are not only expensive.
[00:06:29.380 - 00:06:32.380] They are as well taking four months.
[00:06:32.380 - 00:06:41.380] So for us, if you would use for our products recycled material now.
[00:06:41.380 - 00:06:53.380] So it's the regulation nowadays, we would have to store the material for about four months until we get the result of the aging before we can further process.
[00:06:53.380 - 00:06:59.380] That has nothing to do with the quality of the material or the possibility process ability of the material.
[00:06:59.380 - 00:07:10.380] It's just because of the regulations that we have to check every lot for a certain for certain things, especially aging and so on.
[00:07:10.380 - 00:07:19.380] That said, this limits the market to so if you don't do that, you can only claim five years of durability.
[00:07:19.380 - 00:07:23.380] And this limits your market very much.
[00:07:23.380 - 00:07:29.380] You can claim that five years is pretty much enough for temporary capping or whatsoever.
[00:07:29.380 - 00:07:41.380] The problem in the discussion is the customer usually doesn't know by but for sure that the application will be done within five years.
[00:07:41.380 - 00:07:48.380] So what happens if for any reason you have to use it longer longer than the than the five years?
[00:07:48.380 - 00:07:52.380] Who is taking the responsibility for the time after?
[00:07:52.380 - 00:07:59.380] And what happens if you buy the material and the installation is delayed by one year for any reason?
[00:07:59.380 - 00:08:02.380] You know, so and the price difference.
[00:08:02.380 - 00:08:11.380] If there is any to our to our knowledge, usually the recycling material is even more expensive than version material in most of the cases.
[00:08:11.380 - 00:08:16.380] The customers usually just go with the virgin material is cheaper.
[00:08:16.380 - 00:08:20.380] They don't have to worry about these five years timeframe.
[00:08:20.380 - 00:08:23.380] So much more convenient.
[00:08:23.380 - 00:08:24.380] That's the problem.
[00:08:24.380 - 00:08:26.380] One hand side.
[00:08:26.380 - 00:08:32.380] Second hand side is the technical requirements to geomembranes in particular.
[00:08:32.380 - 00:08:37.380] For geomembranes, it's not only to be aging proof and so on.
[00:08:37.380 - 00:08:44.380] It's as well, there are some requirements which are related to the chemicals in the landfill.
[00:08:44.380 - 00:08:47.380] So it's it's called stress crack resistance.
[00:08:47.380 - 00:08:58.380] It's basically you always have some force on a geomembrane in due to the the own weight and due to some capping on top or whatsoever.
[00:08:58.380 - 00:09:06.380] So like when it forms like a mattress or whatsoever, and especially HDPEs.
[00:09:06.380 - 00:09:17.380] So really HDPEs where the density of the polymer exceeds 900, 45, 40, 45, something like that.
[00:09:17.380 - 00:09:21.380] They are very prone to stress crack behavior.
[00:09:23.380 - 00:09:30.380] We have to proof our products usually something like 500 to 800 hours of stress crack resistance.
[00:09:30.380 - 00:09:33.380] You don't have to understand exactly the test.
[00:09:33.380 - 00:09:42.380] But what we know from HDPEs, even from virgin HDPEs, which are by themselves already HDPE.
[00:09:42.380 - 00:09:47.380] We reach something like 10 hours under the same conditions.
[00:09:47.380 - 00:09:54.380] And this really is not suitable for landfill, typical landfill applications.
[00:09:54.380 - 00:10:13.380] So the possibility of using recycled material would need a customer who is willing to pay more, get less and has some restrictions on how to use it.
[00:10:13.380 - 00:10:24.380] So we can discuss about, yeah, if on a capping, which is only temporary and usually just necessary to keep away some water.
[00:10:24.380 - 00:10:31.380] And even if it has a minor leakage, it is still much better than without the capping and so on.
[00:10:31.380 - 00:10:38.380] But that is a very narrow, very narrow market.
[00:10:38.380 - 00:11:00.380] So our concerns are 80, I would say 90% about regulations and market restrictions and only 10% about the, how to say, process stability and the possibility to run the material actually on our lines.
[00:11:00.380 - 00:11:18.380] So for example, the requirement of the ash remains is just a requirement that there must not be any grains in the membrane because these are failure spots.
[00:11:18.380 - 00:11:33.380] So that's when you apply some, when you apply some load to the membrane, then we know that at that places, the membrane will start failing much earlier as within a, if there is a very homogeneous metric.
[00:11:33.380 - 00:11:36.380] So that's the reasons why we are.
[00:11:36.380 - 00:11:37.380] So that's the reasons why we asked for that.
[00:11:37.380 - 00:11:46.380] And if you exceed a certain, let's say a certain grain size and a certain amount, you get some wear and tear in the extruder.
[00:11:46.380 - 00:11:48.380] You probably know that very well.
[00:11:48.380 - 00:11:57.380] So that's the reason why we request these boundary conditions like this 38 micrometers.
[00:11:57.380 - 00:12:04.380] That's just because bigger grain sizes would cause failures in the membrane later on.
[00:12:04.380 - 00:12:09.380] And it usually will create wear and tear on our extruders.
[00:12:09.380 - 00:12:10.380] That's, that's the two things.
[00:12:10.380 - 00:12:12.380] It's not just like, I didn't bring that up.
[00:12:12.380 - 00:12:13.380] Just yeah.
[00:12:13.380 - 00:12:16.380] That's the specification of the virtual material.
[00:12:16.380 - 00:12:25.380] We have some real, we have some real reasons, real reasons for that, which are related to our product.
[00:12:25.380 - 00:12:34.380] So, so to say a general usage of recycled material, and that it's not particular for your product.
[00:12:34.380 - 00:12:50.380] It's in general is mostly the biggest, the biggest obstacle is the, is the, the, the, the standards and so on.
[00:12:50.380 - 00:12:59.380] Second is it, it has to have a certain cleanliness to be processed, but the main thing is the regulations.
[00:12:59.380 - 00:13:13.380] Um, um, as well, you need to, for, for landfill, um, applications or for all ceiling applications, which are where, where people are willing to pay more money than for a PVC film.
[00:13:13.380 - 00:13:21.380] Um, they usually look exactly for the PE, uh, behavior and the resistance of PE.
[00:13:21.380 - 00:13:40.380] And when you, when you have like 5% or 2% or whatever for, from PP or polyester or whatsoever in your mixture, you just out by definition because they usually request 100% polyethylene.
[00:13:40.380 - 00:13:50.380] Um, so that's just, yeah, it's, it's, it's a geomembrane market on that, on that point.
[00:13:50.380 - 00:14:06.380] On the other hand, if there is a, if there is a demand, or if you want to do it really in a closed, in a closed, closed environment or a closed project where everyone is aware of the costs and the limitations.
[00:14:06.380 - 00:14:12.380] Um, it shouldn't be a problem for us to make these products.
[00:14:12.380 - 00:14:18.380] We have some constraints because we have to separate it from our other materials.
[00:14:18.380 - 00:14:22.380] So silo handling and so on will be an issue.
[00:14:22.380 - 00:14:35.380] But from the technical point of view, if the MFR at, um, I think you gave 200, uh, 192.16, right?
[00:14:35.380 - 00:14:39.380] We gave below one on a, on a 2.16 kilogram measurement.
[00:14:39.380 - 00:14:40.380] Yeah.
[00:14:40.380 - 00:14:49.380] So, um, we are usually that that's what we, so one is already fluid for us, but we are in the range.
[00:14:49.380 - 00:14:50.380] I would say we are in the same range.
[00:14:50.380 - 00:14:54.380] So the minimum we use actually is 0.3, if I'm not wrong.
[00:14:54.380 - 00:14:56.380] And yeah, maybe up to one.
[00:14:56.380 - 00:14:59.380] So we are more familiar with five kilogram values.
[00:14:59.380 - 00:15:14.380] So the five kilogram values would be between one and 0.6 to, I would say three grams per 10 minutes or something like that.
[00:15:14.380 - 00:15:24.380] So generally there's a good chance to process that, especially when we mix it with virgin material.
[00:15:24.380 - 00:15:37.380] So, and that's the, but anyways, this will give us much better tech or much more fitting technical parameters, but it will not solve the problem on the regulation side.
[00:15:37.380 - 00:15:43.380] On a regulation side at the moment, there will be, there will be some changes in the future.
[00:15:43.380 - 00:15:50.380] The European union is working on standards, um, to normalize the usage of, um, recycled materials.
[00:15:50.380 - 00:15:55.380] But as for now, and I would say the upcoming five years doesn't matter.
[00:15:55.380 - 00:15:59.380] There is a zero RC policy in the products we make.
[00:15:59.380 - 00:16:03.380] And it's not only geomembranes, it's geo grids.
[00:16:03.380 - 00:16:13.380] It's nonwovens, it's wovens, everything, which is considered, uh, geo textile in its main definition.
[00:16:13.380 - 00:16:15.380] There is this limitations on that.
[00:16:15.380 - 00:16:23.380] So we are only allowed to use a certain percentage of internal reuse materials of side trims and so on.
[00:16:23.380 - 00:16:24.380] That's the only excuse.
[00:16:24.380 - 00:16:26.380] And even that is heavily limited.
[00:16:27.380 - 00:16:30.380] So we can only use, I think 10 or 15% of that.
[00:16:32.380 - 00:16:37.380] So generally speaking, the, there's a certain activity.
[00:16:37.380 - 00:16:38.380] Yep.
[00:16:38.380 - 00:16:45.380] That this, uh, circular economy approach, uh, that we discussed last week is, is, uh, really possible.
[00:16:45.380 - 00:16:56.380] Um, on the other hand, what Martin is just describing, um, it limits our action on the market with regards to all these regulations.
[00:16:56.380 - 00:17:03.380] So we, from, from, from now aside, we cannot think this in a, in a large scale model.
[00:17:03.380 - 00:17:04.380] Yeah.
[00:17:04.380 - 00:17:15.380] Um, but if, uh, wherever there are demands that the material just needs to, uh, survive for five years.
[00:17:15.380 - 00:17:18.380] So like the temporary cappings that you described trees.
[00:17:18.380 - 00:17:19.380] Yeah.
[00:17:19.380 - 00:17:20.380] Then of course, this is possible.
[00:17:20.380 - 00:17:34.380] Well, Martin, thank you for the explanation and, and Christian that you, that you gave before I jump into the regulatory, um, aspects.
[00:17:34.380 - 00:17:39.380] Uh, it's just for me to understand also with the technical and some of the, of the topics you already touched.
[00:17:39.380 - 00:17:54.380] But to understand well on the particle size, do you mean that at the 38 micron, that, that should be the, uh, uh, uh, if we go put it into the melting phase, that no particles smaller than 38 micron can be found.
[00:17:54.380 - 00:18:00.380] So nothing to do with the pellet size or, this is about possible impurities.
[00:18:00.380 - 00:18:02.380] So remaining dirt, I would say.
[00:18:02.380 - 00:18:03.380] Yeah.
[00:18:03.380 - 00:18:10.380] So, um, um, our C set in the extruder is actually a 38 micron.
[00:18:10.380 - 00:18:15.380] So everything which is below that is accepted because we can't even filter it out on our own.
[00:18:15.380 - 00:18:18.380] Everything above that will be filtered out.
[00:18:18.380 - 00:18:22.380] If it is too much, we get in trouble because our filters clock very soon.
[00:18:22.380 - 00:18:23.380] Yeah.
[00:18:23.380 - 00:18:24.380] Okay.
[00:18:24.380 - 00:18:28.380] Um, the technology that you are using, is that cast extrusion or.
[00:18:28.380 - 00:18:30.380] Flat die cast extrusion.
[00:18:30.380 - 00:18:31.380] Flat die cast extrusion.
[00:18:31.380 - 00:18:32.380] Okay.
[00:18:32.380 - 00:18:33.380] From.
[00:18:33.380 - 00:18:42.380] And so that's one single layer, or do you have the option to, to, uh, let's say if it's in the future, it is possible to put recycled contents.
[00:18:42.380 - 00:18:49.380] Are you, uh, in the option of doing ABA, uh, structures and put the recycled contents in the middle?
[00:18:49.380 - 00:18:51.380] We have one line, which does ABA.
[00:18:51.380 - 00:18:56.380] And we have one line, which actually has two extruders, which are extruding next to each other.
[00:18:56.380 - 00:19:05.380] But for the more modern one, we have ABA or, uh, you can switch between A, B, A, B, A, as you want.
[00:19:05.380 - 00:19:06.380] Okay.
[00:19:06.380 - 00:19:14.380] But for our regulations or for our purpose, um, it doesn't make a difference.
[00:19:14.380 - 00:19:15.380] So we can't differentiate.
[00:19:15.380 - 00:19:27.380] It's not like, um, for example, window frames or so where you do the virtual material to the outside to get the pretty look and to get, uh, the colors and whatsoever.
[00:19:27.380 - 00:19:37.380] And for the filling, you use the recycled materials, our material, um, how to say, has to last from the top to the bottom the same.
[00:19:37.380 - 00:19:38.380] Yeah.
[00:19:38.380 - 00:19:39.380] Okay.
[00:19:39.380 - 00:19:40.380] Okay.
[00:19:40.380 - 00:19:41.380] Um, okay.
[00:19:41.380 - 00:19:52.380] And then based on the polymer purity, uh, as, as you're only using virgin material, of course, it's only PE.
[00:19:52.380 - 00:20:02.380] Um, or products are also, um, I mean, the PP content is, uh, an important parameter because of the, um, uh, you, you should be able to still seal the material.
[00:20:02.380 - 00:20:11.380] And especially also on our landfill, uh, if you cannot longer make a good seal between the different, um, products, then we have a problem, a problem.
[00:20:11.380 - 00:20:14.380] That's the same thing, which goes to pipes, for instance.
[00:20:14.380 - 00:20:21.380] So also pipes needs to be well, weldable, uh, still, and PP has a higher melting point compared to, to PE.
[00:20:21.380 - 00:20:31.380] Um, and therefore I know the spec is there around 4% of, of, uh, of PP, but that's maybe things you're not very familiar with as you, as at this point,
[00:20:31.380 - 00:20:35.380] you're only using, um, HD, right?
[00:20:35.380 - 00:20:44.380] Again, we, we, technically we use, um, this is a little bit weird, but technically we use maximum MDPE.
[00:20:44.380 - 00:20:53.380] So, uh, usually we use, uh, linear low, so LLDPE or MDPE from the work, from the polymer side.
[00:20:53.380 - 00:21:00.380] And our material is just called HDPE because we add about two and a half percent carbon black,
[00:21:00.380 - 00:21:04.380] which lifts the density in the range of HDPE.
[00:21:04.380 - 00:21:09.380] So from the polymer side, we are using maximum MDPE.
[00:21:09.380 - 00:21:12.380] And that's the reason why we have the pretty good weldability.
[00:21:12.380 - 00:21:17.380] Um, we have this stress, stress, stress, resistance.
[00:21:17.380 - 00:21:27.380] And some other values like, um, yield elongation in a certain range, uh, maximum elongation.
[00:21:27.380 - 00:21:31.380] You need a break along maximum elongation at break of about 800%.
[00:21:31.380 - 00:21:36.380] I think some, uh, some regulations ask for 700, some for 800.
[00:21:36.380 - 00:21:41.380] And we know that if you use HDPE polymer.
[00:21:41.380 - 00:21:48.380] So where the polymer already is an HDPE, um, you usually can't reach that because it's too stiff.
[00:21:48.380 - 00:21:49.380] Yeah.
[00:21:49.380 - 00:21:50.380] Yeah.
[00:21:50.380 - 00:21:51.380] Yeah.
[00:21:51.380 - 00:21:52.380] So that's the reason.
[00:21:52.380 - 00:21:53.380] Yeah.
[00:21:53.380 - 00:21:54.380] It's a little bit weird.
[00:21:54.380 - 00:22:01.380] So we call it HDPE, but actually it is more like, I would say 60%, um, MDPE and 40% linear low.
[00:22:01.380 - 00:22:02.380] Yeah.
[00:22:02.380 - 00:22:03.380] Okay.
[00:22:03.380 - 00:22:11.380] Well, our recycling plant, the only inputs we are using are, um, uh, post-consumer household packaging.
[00:22:11.380 - 00:22:15.380] And so we are, we're integrated with our group and we do collection of household packaging.
[00:22:15.380 - 00:22:17.380] We have sorting lines for household packaging.
[00:22:17.380 - 00:22:25.380] And then the sorted, uh, bales of, uh, HDPE and PP are then further treated at our, uh, polymer plants.
[00:22:25.380 - 00:22:37.380] And so on, on HDPE, this means, uh, yeah, mainly bottles, uh, HD, but you could also have some LDPE from creams, uh, cream and packaging, things like that.
[00:22:37.380 - 00:22:55.380] Um, and so on HD, we don't only have chemical bottles because the chemical bottles have a high crack, um, stress resistance because you don't want, um, chemical to, to go out, but not in the, in the values that you are mentioning to be clear, uh, because we're still speaking about bottles and canisters.
[00:22:55.380 - 00:22:59.380] Um, so that's the grade we are making.
[00:22:59.380 - 00:23:12.380] So if you're referring to the, uh, to the high allegation that breaks, and then I understand your argument that it's rather an LDPE or MD and not an HD that you're using in the, in the, in the film.
[00:23:12.380 - 00:23:16.380] So, um, so yeah, good to know.
[00:23:16.380 - 00:23:21.380] Um, I think at this point, uh, mainly to regulatory affairs, it's a bit difficult.
[00:23:21.380 - 00:23:24.380] Nevertheless, it's already good to understand the process.
[00:23:24.380 - 00:23:27.380] Also good to understand that there is an ABA structure possible.
[00:23:27.380 - 00:23:40.380] If regulatory will, would change that maybe there, there's possibilities, but then we have to look maybe more at the, at film, film grates rather than, than, than bottle, uh, bottle grates.
[00:23:40.380 - 00:23:41.380] For sure.
[00:23:41.380 - 00:23:45.380] Um, speaking about regulation, we had a bit of similar case.
[00:23:45.380 - 00:24:02.380] So when we are looking, um, at the usage of all consumables within our group, which are, uh, used for, uh, with, with, with virgin material, we had a big, uh, consumption of, uh, medical bins that we are using in the hospitals.
[00:24:02.380 - 00:24:03.380] Hmm.
[00:24:03.380 - 00:24:04.380] Okay.
[00:24:04.380 - 00:24:06.380] So these are PPE bins.
[00:24:06.380 - 00:24:13.380] This was also not possible to use from, um, with, with, with recycled material because of regulatory affairs.
[00:24:13.380 - 00:24:22.380] But we worked for two years on that, uh, project and we, um, we managed to get an exception, uh, on that.
[00:24:22.380 - 00:24:29.380] Uh, why it was difficult because we are in ADR, uh, ADR transport, that's transport of dangerous goods.
[00:24:29.380 - 00:24:38.380] And so in that regulatory, it was mentioned that we could only use virgin material or, uh, material coming from the same application.
[00:24:38.380 - 00:24:41.380] A bit like the case you are, uh, mentioning.
[00:24:41.380 - 00:24:46.380] Um, which state to censor doesn't really make sense as long.
[00:24:46.380 - 00:24:56.380] If you could prove that you can fulfill the application with other origins, it's, uh, in our opinion, it could be used.
[00:24:56.380 - 00:25:08.380] And so in this way, you went into discussion with, uh, European regulatory affairs together with, and the local, uh, legislation here in Belgium before, for transport of dangerous goods.
[00:25:08.380 - 00:25:16.380] Um, and we managed to make, uh, to make boxes, which also had the same technical properties like were mentioned.
[00:25:16.380 - 00:25:26.380] So also a high impact that the boxes don't break when they could fall off a truck and dangerous material from hospitals could be, could be, could be spilled.
[00:25:26.380 - 00:25:33.380] So, um, I don't see a solution within the upcoming short periods to be clear.
[00:25:33.380 - 00:25:42.380] Um, but it would be good for us to, if you could send us over the current regulation, which is in place, uh, which that's a bit the, the norm.
[00:25:42.380 - 00:25:47.380] And next to that, maybe, uh, have a bit, an idea.
[00:25:47.380 - 00:25:54.380] You mentioned some values about MFR, allegation net break, um, the, uh, stress crack resistance.
[00:25:54.380 - 00:25:57.380] If we could have the values values, we can save them.
[00:25:57.380 - 00:26:03.380] And then who knows within two or three years, if regulatory changes that, that we are well prepared,
[00:26:03.380 - 00:26:11.380] that maybe also that part of our consumables within our group, we could replace a part with virgin material, uh, with recycled material, um,
[00:26:11.380 - 00:26:20.380] which, which, which could lower significantly or, uh, or, um, yeah, a carbon footprint from our, from our group.
[00:26:20.380 - 00:26:28.380] I can, uh, I can say that we are part of a research program, which is coming to its end, which has exactly that goal.
[00:26:28.380 - 00:26:38.380] So this, it is the, the goal of this project, this pro geo UP, whenever you Google it, you will probably find some information about that.
[00:26:38.380 - 00:26:44.380] But even though I can share the link, there's a, there's a page where it's roughly describing what we are doing.
[00:26:44.380 - 00:26:58.380] Um, this is, this is especially the idea, especially behind that part we are doing is recycling of geo texts or geo composites, geo textiles, um, grids on whatsoever.
[00:26:58.380 - 00:27:09.380] Um, the, yeah, the goal or the, the attempt there is more in the way, like you just described for these medical, medical bins.
[00:27:09.380 - 00:27:17.380] So taking old geo textiles or geo synthetics and reconvert them to geo geo synthetics.
[00:27:17.380 - 00:27:24.380] This has some advantages because you're using material, which is proper for the, um, for the task.
[00:27:25.380 - 00:27:37.380] The, the problem with the post consumer material is that it in most of the cases is not proper for the geo synthetics case.
[00:27:37.380 - 00:27:46.380] So that, that's a problem with, when you do the recycling within the same, uh, kind of material, let's say we already proved that this is technically possible.
[00:27:46.380 - 00:27:54.380] Uh, we just proved it for a geo grid and we can for sure show it for a geo membrane on a landfill as well.
[00:27:54.380 - 00:28:11.380] So if you, if you, if you would take a geo membrane from the landfill and give it to you and you do the processing, like a rough cleaning and, um, melting and regranulate, we can probably do a geo membrane, which fulfills the task.
[00:28:11.380 - 00:28:17.380] And which technically probably meets the requirements because it's the same material.
[00:28:17.380 - 00:28:21.380] The aging is usually negligible for that time.
[00:28:21.380 - 00:28:31.380] Um, the problem already, uh, always occurs when you're mixing in material from other sources meant for other things.
[00:28:31.380 - 00:28:39.380] So, um, as well, the, the PP content, as you mentioned, the polypropylene content is probably technically not a big issue.
[00:28:40.380 - 00:28:47.380] Um, it's just because for the landfill application, that's most landfill, uh, and a hazardous control.
[00:28:47.380 - 00:28:55.380] This are the 99% of the cases where you use a geo membrane, they require 100% polyethylene.
[00:28:55.380 - 00:28:56.380] Um, so that's it.
[00:28:56.380 - 00:29:08.380] So even if we can, for the moment, even if we say, okay, yeah, um, we know that this is not an issue and so on, it's just not there.
[00:29:08.380 - 00:29:16.380] Um, but my colleague Henning Ehrenberg is part of the, um, regulation committee at the European Union.
[00:29:16.380 - 00:29:27.380] And from that I know for sure that they are working on changing the regulations for geosynthetics to make it possible to use recycled materials.
[00:29:27.380 - 00:29:39.380] And I can already say that the outcome will be something like, okay, for the recycled materials, the same things apply then for virgin materials.
[00:29:39.380 - 00:29:46.380] So there will be no difference between virgin and recycled as long as you fulfill the given requirements.
[00:29:46.380 - 00:29:49.380] It doesn't matter if it is from recycled or from virgin.
[00:29:49.380 - 00:30:02.380] Um, there will probably not be the, it will probably not be the case that there will be lower requirements for recycled sources for the same purpose.
[00:30:02.380 - 00:30:14.380] So there is always the opportunity to say, okay, we define a special purpose where we, where everyone is aware of using recycled materials with lower, um, properties.
[00:30:14.380 - 00:30:16.380] And that's, that's always possible.
[00:30:16.380 - 00:30:23.380] But if you want to join the, the open market, you have to prove that you can deliver the same quality.
[00:30:23.380 - 00:30:38.380] And there is already the discussion how we can, or we can come to a situation, which is like the virgin materials where you don't have to test each particular lot,
[00:30:38.380 - 00:30:48.380] but as well put some, um, um, QC requirements on you as the, uh, uh, manufacturer or the producer of the RC material.
[00:30:48.380 - 00:31:04.380] So that you with given, with given tests or given audits or whatsoever that everyone can rely on that, that the raw material or the recycled material has a constant quality, whatever this quality is.
[00:31:04.380 - 00:31:14.380] But then it can be assured that the quality is constant and it's not necessary anymore to test every delivery literally.
[00:31:14.380 - 00:31:26.380] So even, even today, so maybe that wasn't clear today, I can do a proper geosynthetics out of recycled material.
[00:31:26.380 - 00:31:27.380] It's just not feasible.
[00:31:27.380 - 00:31:37.380] I, I'm allowed to do that, but the amount of work and, and checking I have to put in that is just not worth doing it.
[00:31:37.380 - 00:31:47.380] I can, if, if I get one delivery from your side and we do all the testing, we wait for four months to get the results for the aging and so on.
[00:31:47.380 - 00:31:55.380] Then with this lot alone, I can do a geosynthetic production, whatever it is, geomembrane or whatsoever.
[00:31:55.380 - 00:31:59.380] And I can put the, the stamp on it and say, okay, yeah, that's, that's okay.
[00:31:59.380 - 00:32:06.380] That's fulfilling all the requirements, but that's not feasible because I can't do that in scale.
[00:32:06.380 - 00:32:07.380] Yeah.
[00:32:07.380 - 00:32:08.380] This is for one truck.
[00:32:08.380 - 00:32:09.380] That's okay.
[00:32:09.380 - 00:32:14.380] But not for, not for a hundred tons or, or 500 tons or so.
[00:32:14.380 - 00:32:18.380] So it's not like it is, it's not like it's forbidden.
[00:32:18.380 - 00:32:28.380] It's just not, it's, it's not possible by the amount of effort you have to put in it to make it work in scale.
[00:32:28.380 - 00:32:29.380] Yeah.
[00:32:29.380 - 00:32:37.380] And that's, that's even worse actually, because the, the answer of everyone is yes, you can do it.
[00:32:37.380 - 00:32:39.380] You just have to do this, this and that.
[00:32:39.380 - 00:32:48.380] Um, unfortunately doing that is making you unflexible because it's taking time.
[00:32:48.380 - 00:32:57.380] We, we would need you or we, some one of us would have to have big silos to store the material,
[00:32:57.380 - 00:33:01.380] which is under testing for the time being.
[00:33:01.380 - 00:33:03.380] And what if it fails?
[00:33:03.380 - 00:33:04.380] Huh?
[00:33:04.380 - 00:33:05.380] No one knows.
[00:33:05.380 - 00:33:16.380] And it is, um, relatively high costs for each of these tests, which even increases the price of the raw material.
[00:33:16.380 - 00:33:22.380] So it's actually not like I can give you a paragraph where it says it's forbidden.
[00:33:22.380 - 00:33:29.380] It, the requirements are just that stupid on RC materials or the, the requirements are easy on version materials.
[00:33:29.380 - 00:33:33.380] And they are applied on RC materials in the same way.
[00:33:33.380 - 00:33:36.380] And this makes it practically impossible.
[00:33:36.380 - 00:33:37.380] Yeah.
[00:33:37.380 - 00:33:38.380] Yeah.
[00:33:38.380 - 00:33:40.380] I understand, uh, very well.
[00:33:40.380 - 00:33:45.380] And unfortunately, um, this is still the world of today.
[00:33:45.380 - 00:33:54.380] And, um, luckily for instance, in packaging, we have some new regulations, uh, which, which obligate, obligates in 2030, a certain percentage of, of usage.
[00:33:54.380 - 00:34:00.380] And this helps of course, to create also the market because it's not a matter of willing.
[00:34:00.380 - 00:34:01.380] It's, it's a fact.
[00:34:01.380 - 00:34:07.380] And as long as there, it's not there, I understand in other markets, it's quite, uh, quite difficult.
[00:34:07.380 - 00:34:13.380] Nevertheless, um, with our plant, we have some collaborations running with some, um, more and more.
[00:34:13.380 - 00:34:24.380] We have virgin polymer producers who are integrating recycled contents to give a ready to use 30 percentage, uh, range to, to converters.
[00:34:24.380 - 00:34:32.380] So they, they, so that they, so that they don't need to worry about all those, uh, things that you are, uh, mentioning.
[00:34:32.380 - 00:34:40.380] So this goes from, uh, Total Energies, uh, Borealis, uh, also Ravago with the manufacturing that we're having.
[00:34:40.380 - 00:34:47.380] Um, I'm pretty sure it will not take too long to, that this is established.
[00:34:47.380 - 00:34:48.380] Yeah.
[00:34:48.380 - 00:34:58.380] But you need, as you say, you need one of the big players, um, taking the responsibility and doing the paperwork, let's say.
[00:34:58.380 - 00:35:07.380] So yeah, as soon as they can proclaim, okay, we take care that what's leaving our plant has a constant quality.
[00:35:07.380 - 00:35:13.380] So whatever this is, constant quality, and we can ensure that this is always the case.
[00:35:13.380 - 00:35:23.380] Then we, as the mid user, um, don't have any problem as long as the result of the product is feasible.
[00:35:23.380 - 00:35:24.380] Huh?
[00:35:24.380 - 00:35:29.380] So, but nowadays, um, we did some test runs, not on geomembranes, but on other products.
[00:35:29.380 - 00:35:33.380] We did some test runs with chemical recycled material.
[00:35:33.380 - 00:35:36.380] So there is a, I think it was a polyester in that case.
[00:35:36.380 - 00:35:47.380] They added during the, they added deep polymerized, um, monomers of recycled materials to the polymerization process.
[00:35:47.380 - 00:35:50.380] So at the end, it is like virgin material.
[00:35:50.380 - 00:35:55.380] Just, just the, the, the atoms and the molecules have been reused.
[00:35:55.380 - 00:35:55.380] Yeah.
[00:35:55.380 - 00:35:56.380] It is.
[00:35:56.380 - 00:36:02.380] And even that gives us trouble in the explanation or in, yeah.
[00:36:02.380 - 00:36:07.380] It's technically, you can't divide it from virgin material.
[00:36:07.380 - 00:36:08.380] Yeah.
[00:36:08.380 - 00:36:09.380] I see.
[00:36:09.380 - 00:36:15.380] But that's, that's, that shows the difficulty here because with recycled material, this is just virgin material with the certificate.
[00:36:15.380 - 00:36:16.380] Yeah.
[00:36:16.380 - 00:36:19.380] Because at the end, it's just the same virgin material.
[00:36:19.380 - 00:36:20.380] So, uh, I understand.
[00:36:20.380 - 00:36:28.380] Um, just for, for us, it could, it would be good, uh, if we can get some kind of idea with the, for the geo membranes.
[00:36:28.380 - 00:36:30.380] Uh, uh, uh, okay.
[00:36:30.380 - 00:36:38.380] The virgin material you are using not to make a copy paste, but to have a bit an idea about those allegation and breaks and, uh, and other things.
[00:36:38.380 - 00:36:48.380] And then from our sides, I will just, with our, um, partners that we are making hybrids, virgin and recycle, we'll just, uh, exchange some thoughts.
[00:36:48.380 - 00:36:57.380] Uh, if there would be no regulatory boundary, uh, what is feasible and what is not feasible because for the virgin by parts, they're using some kind of, yeah, we call it boosters.
[00:36:57.380 - 00:37:07.380] It's, it's overqualified virgin material to compensate for, for, uh, yeah, the lack of parameters and, and, and some, some, some RC material.
[00:37:07.380 - 00:37:09.380] This has to be research.
[00:37:09.380 - 00:37:23.380] We have done some, unfortunately mixing of materials, especially of high density and low density material, give some results, which are, which we didn't expect and which were unpredictable for us.
[00:37:23.380 - 00:37:33.380] So we, in our testing, we added very high density material in very low percentage to our typical resin.
[00:37:33.380 - 00:37:43.380] And for example, the stress crack resistance, even with 2% high density material dropped from usually 3000 hours plus.
[00:37:43.380 - 00:37:55.380] So our longest test we stopped at 3000 hours for that test dropped to less than 50 by just adding one or 2% of HD, HD material.
[00:37:55.380 - 00:38:08.380] So it's not like mixing milk and cacao, for example, it is, there is something happening, which is not like they don't behave, um, in relation to the mixture ratio.
[00:38:08.380 - 00:38:11.380] So this is a very interesting field.
[00:38:11.380 - 00:38:14.380] So, um, but, um, what I can mention is yes.
[00:38:14.380 - 00:38:22.380] Having a ready-made material, which is already, let's say 20% recycled together with virgin, with a certificate is always welcome.
[00:38:22.380 - 00:38:27.380] From the technical point of view, we can also mix in our extruders.
[00:38:27.380 - 00:38:31.380] We don't have this double screw mixing extruders.
[00:38:31.380 - 00:38:35.380] We have a single screw extruders, but with, um, barriers and so on.
[00:38:35.380 - 00:38:40.380] So we do regular mixing of same kind of materials.
[00:38:40.380 - 00:38:45.380] So different raw materials in the same area of MFR and so on.
[00:38:45.380 - 00:38:48.380] So we do regular mixing on that.
[00:38:48.380 - 00:38:52.380] Technically, as I said, technically is not the biggest difficulty.
[00:38:52.380 - 00:38:55.380] It is like how it behaves afterwards.
[00:38:55.380 - 00:38:57.380] So is it fit for the purpose?
[00:38:57.380 - 00:39:01.380] And the big thing is regulation things.
[00:39:01.380 - 00:39:02.380] Regulation.
[00:39:02.380 - 00:39:03.380] Yeah.
[00:39:03.380 - 00:39:04.380] Yeah.
[00:39:04.380 - 00:39:13.380] And, um, if you're interested, we can do some quick, quick tests, quick research eventually.
[00:39:13.380 - 00:39:18.380] So every now and then we do some tests on a lab extruder scale.
[00:39:18.380 - 00:39:28.380] So just 30 centimeters wide, a couple of kilograms, um, to get an idea what we can expect from this material.
[00:39:28.380 - 00:39:44.380] Uh, we can incorporate in our next test run, maybe a mixture of 20% of your RC material together with 80% of our, uh, virgin material or even 100% just to get an idea what we would end up with.
[00:39:44.380 - 00:39:46.380] Yeah.
[00:39:46.380 - 00:39:50.380] So then we were talking about 20, let's say 50 kilograms.
[00:39:50.380 - 00:39:51.380] Yeah.
[00:39:51.380 - 00:40:05.380] Well, honestly, I think the only thing what would make sense is, um, is a hybrid product where already 20% is integrated and made by, uh, uh, Total or Borealis or Avago.
[00:40:05.380 - 00:40:09.380] That's, that's three main or Bazel, Bazel could do it as well.
[00:40:09.380 - 00:40:11.380] It's the main players we're working with together.
[00:40:11.380 - 00:40:21.380] Um, uh, 100% pure RC from our sites will never make the specification because it's HD based.
[00:40:21.380 - 00:40:30.380] I'm now more thinking about, uh, uh, postcon, because if you want to do it at scale, you need post-consumer material, which is available everywhere in Europe.
[00:40:30.380 - 00:40:33.380] Otherwise you will never manage to make, to do something on that scale.
[00:40:33.380 - 00:40:34.380] That's the second point.
[00:40:34.380 - 00:40:35.380] Yeah.
[00:40:35.380 - 00:40:43.380] So this means if, if, if, if from our bottles are everywhere and packaging and, but I think it's will be very hard or impossible.
[00:40:43.380 - 00:40:46.380] The films are also everywhere in, um, in Europe.
[00:40:46.380 - 00:40:58.380] So I think we mainly have to look at an, an LD, LLD mixtures from, um, from films, um, to manage the elongation and breaks and this kinds of parameters.
[00:40:58.380 - 00:41:01.380] But, uh, that's, that's something I want to discuss with them first.
[00:41:01.380 - 00:41:02.380] Okay.
[00:41:02.380 - 00:41:12.380] What type of origin could be usable combined with your boosters, uh, from, from Virgin to end up with something which, which comes in the range with the current spec you are using.
[00:41:12.380 - 00:41:19.380] And, uh, and of course, then I want to challenge them as well with, uh, with the regulations and what kind of, uh, things are asked.
[00:41:19.380 - 00:41:32.380] And, uh, they have also people, people working monthly on that because they also want to open markets for high quality recycled material where currently, um, no recycled is being used.
[00:41:32.380 - 00:41:33.380] Yeah.
[00:41:33.380 - 00:41:35.380] That's a, that's the availability is a big point.
[00:41:35.380 - 00:41:44.380] So for our tests of recycling geosynthetics, um, so make out of a, use geosynthetics, make new ones.
[00:41:44.380 - 00:41:49.380] One of the biggest struggles besides all the techniques is the availability.
[00:41:49.380 - 00:41:57.380] So geosynthetics, they are made to last at least 25 years in constructions, some 100 years.
[00:41:57.380 - 00:42:00.380] So they are just not available in numbers on the market.
[00:42:00.380 - 00:42:04.380] There are three tons there, five tons there.
[00:42:06.380 - 00:42:09.380] Man, you can, you will never manage to do something at scale.
[00:42:09.380 - 00:42:10.380] No, no.
[00:42:10.380 - 00:42:11.380] Yeah.
[00:42:11.380 - 00:42:15.380] Of course, consumer is household packaging material, uh, commercial films.
[00:42:15.380 - 00:42:24.380] Um, that's the main markets you will find, which you will found everywhere in every country in Europe, where at least there's some collection.
[00:42:24.380 - 00:42:31.380] So, uh, so if you want to do something at scale, you have to, this, this has to be the basis from, from the recycled content.
[00:42:31.380 - 00:42:32.380] Yeah.
[00:42:32.380 - 00:42:35.380] So scaling is probably the right word.
[00:42:35.380 - 00:42:48.380] Um, we have now learned there's one big column, uh, this part of discussion, which would be a win-win situation in the best case, maybe in a few, in a couple of years.
[00:42:48.380 - 00:42:49.380] Yeah.
[00:42:49.380 - 00:43:00.380] Um, the other part that is, uh, where I actually don't know, is this topic still, uh, of interest would be the column with circular economy.
[00:43:00.380 - 00:43:17.380] Um, please, would this be an option for you to make a reuse of your HDPE for circular economy reasons to build a story out of that?
[00:43:17.380 - 00:43:21.380] Or is this not of interest?
[00:43:21.380 - 00:43:28.380] The one of which we recycle, uh, uh, recycler are temporary covering, you mean?
[00:43:28.380 - 00:43:29.380] Yeah.
[00:43:29.380 - 00:43:34.380] I think at this, at this stage would be very difficult, uh, to do so.
[00:43:34.380 - 00:43:36.380] But I, I think Jeroen, you have a better view on it.
[00:43:36.380 - 00:43:37.380] Yeah.
[00:43:37.380 - 00:43:40.380] But I think in terms of, yeah, feasibility.
[00:43:40.380 - 00:43:43.380] On, on our plants, it's, it's not possible.
[00:43:43.380 - 00:43:47.380] Our plant is built for post-consumer, post-consumer households, uh, waste.
[00:43:47.380 - 00:43:50.380] And so our inputs are bells of sorted bottles.
[00:43:50.380 - 00:43:55.380] So, um, it could be very, the same thing you are mentioning, eh?
[00:43:55.380 - 00:44:01.380] We have to, we would have to do very small lots of, of those temporary film material.
[00:44:01.380 - 00:44:08.380] We should, we would have to do external size reduction or baling or whatever to precondition it so we can feed it into our plant.
[00:44:08.380 - 00:44:17.380] So, I think it's very difficult to, to get that to, um, to, uh, at scale level, uh, at, at our recycling plants.
[00:44:17.380 - 00:44:24.380] Um, we have such types of films sometimes that we collect, that we deliver to, uh, to a local recycle,
[00:44:24.380 - 00:44:30.380] which is using it in very low-end application because getting it to a recycling line is one.
[00:44:30.380 - 00:44:35.380] But getting it to a level where it can be reused for high-end applications is another story.
[00:44:35.380 - 00:44:40.380] I mean, our washing line, we, uh, we built that for a preparation for a PPWR.
[00:44:40.380 - 00:44:43.380] So that's for a new packaging regulation.
[00:44:43.380 - 00:44:45.380] So we have four washing steps.
[00:44:45.380 - 00:44:50.380] We can, uh, we can, um, increase the temperature of, uh, of one of the washing steps.
[00:44:50.380 - 00:44:57.380] We asked caustic soda, we, to prepare as much as possible to get it to higher-end applications
[00:44:57.380 - 00:45:00.380] and packaging and color sorting, all kinds of, of those things.
[00:45:00.380 - 00:45:09.380] And so, um, yeah, at this point, if it goes to lower-end applications, uh, uh, then it's,
[00:45:09.380 - 00:45:12.380] or a plant is not the right plant to, to, to put it through.
[00:45:12.380 - 00:45:18.380] So the circular economy ID, uh, also, I think it's about lower quantities.
[00:45:18.380 - 00:45:21.380] And I don't know the quantities, uh, which, which are coming out of that.
[00:45:21.380 - 00:45:26.380] But, um, my opinion, that's very difficult to do that at scale.
[00:45:26.380 - 00:45:28.380] Getting it recycled is one thing.
[00:45:28.380 - 00:45:30.380] And then to lower-end application.
[00:45:30.380 - 00:45:32.380] And then we should aim as much as possible for.
[00:45:32.380 - 00:45:34.380] So that's not a discussion.
[00:45:34.380 - 00:45:37.380] But to set something up, to reuse it back into your applications,
[00:45:37.380 - 00:45:43.380] it has to come from post-consumer, uh, higher availability streams, um,
[00:45:43.380 - 00:45:48.380] um, and then do the right compounding steps to get the ready-to-use, uh, polymer
[00:45:48.380 - 00:45:53.380] without any stress at converting site with the right, uh, certificates and ever.
[00:45:53.380 - 00:46:01.380] And, and then that's the only way I see to, to get recycled content into your products, to be honest.
[00:46:01.380 - 00:46:02.380] Yeah.
[00:46:02.380 - 00:46:05.380] Is it a question, Martin and Christian?
[00:46:05.380 - 00:46:12.380] Because we're now at Van Heede, we're questioning if a recycled substitute is available.
[00:46:12.380 - 00:46:15.380] Is it also, and you say, yeah, the market is small.
[00:46:15.380 - 00:46:20.380] Have you ever, let's say, gotten the interest or the question from other parties?
[00:46:20.380 - 00:46:24.380] Because we're looking at it for, let's say, a very narrow scope.
[00:46:24.380 - 00:46:29.380] Let's say temporary cover, smaller than, or used less than five years.
[00:46:29.380 - 00:46:36.380] But I don't know if in your market you've had the question before on, hey, do you also offer a version,
[00:46:36.380 - 00:46:40.380] a version with recycled material?
[00:46:40.380 - 00:46:49.380] Well, in this, in this application, uh, that we focus on here, uh, what you just heard from Martin's explanation,
[00:46:49.380 - 00:46:56.380] we are, we are always forced, uh, to generate solutions that are very long lasting, minimum 100 years.
[00:46:56.380 - 00:47:04.380] Um, this, this is the highest argument usually for, for our customers to be, have the safety that the constructions
[00:47:04.380 - 00:47:06.380] they are building last for 100 years.
[00:47:06.380 - 00:47:16.380] And if you can give, uh, as well, some, uh, some, yeah, research results that can have an outlook on the time after,
[00:47:16.380 - 00:47:22.380] yeah, where we are actually thinking, okay, our solutions will also survive 400 years.
[00:47:22.380 - 00:47:26.380] That's the biggest argument for the moment.
[00:47:26.380 - 00:47:27.380] Yeah.
[00:47:27.380 - 00:47:31.380] Everything what we are discussing here now is, is of course, I would say part of the future.
[00:47:31.380 - 00:47:31.380] Yeah.
[00:47:31.380 - 00:47:49.380] That you also think about how can we bring in recycled material for those solutions, but, uh, in the, in the same moment, uh, staying on the same, on the safe side and, uh, making something out of it, uh, that is really protecting also the third and the fourth generation after us.
[00:47:49.380 - 00:47:50.380] Yeah.
[00:47:50.380 - 00:48:16.380] That's one of the, what Christian describes is the, this geomembranes are one of the most sensitive, um, applications of geosynthetics because you're containing biohazards and really no one is willing to take any risk on that.
[00:48:16.380 - 00:48:25.380] Uh, if you're talking about non-wovens, for example, which act as a filter layer or something like that, the risk of failure is much less.
[00:48:25.380 - 00:48:31.380] So people, uh, so there, it would be much easier to convince people to take some risk.
[00:48:31.380 - 00:48:38.380] Even if we are convinced there is none, but there is still these, uh, it is lower quality.
[00:48:38.380 - 00:48:48.380] Um, then the outcome of, of failure would be probably not even noticeable in, in most of the cases, but for geomembranes is really, it is waste containment.
[00:48:48.380 - 00:48:52.380] No one wants to even think about that.
[00:48:52.380 - 00:48:57.380] There is a hole or a crack or, um, uh, a bad welding.
[00:48:57.380 - 00:49:06.380] Um, if I can have the better, uh, material in, in air quotes for the same price.
[00:49:06.380 - 00:49:22.380] And that's actually, if, if you would be half the price with the recycling, then probably some would think for some applications about it, but just think it from, from the, from your own perspective.
[00:49:22.380 - 00:49:36.380] Um, you're buying a material with lower quality or lower, um, promise of quality for a temporary job, which is also more expensive.
[00:49:37.380 - 00:49:38.380] Yeah.
[00:49:38.380 - 00:49:48.380] No one there's, there's just a very low, uh, amount of people who is willing to pay extra for these carbon footprint.
[00:49:48.380 - 00:49:53.380] Most will go with the lowest price, unfortunately.
[00:49:53.380 - 00:50:00.380] So there are, there are parts in geosynthetics, which are probably a little bit easier from a technical point of view and where the risk is much lower.
[00:50:00.380 - 00:50:06.380] And even those are not for, for the moment, they're not accepting the extra costs.
[00:50:08.380 - 00:50:15.380] Because in the, in the, in the mind of the people, usually recycling is combined with lower quality and lower costs.
[00:50:18.380 - 00:50:22.380] Um, in the Netherlands, you're, you're, you're Belgium, right?
[00:50:23.380 - 00:50:23.380] Belgium.
[00:50:23.380 - 00:50:23.380] Yeah.
[00:50:23.380 - 00:50:24.380] Yeah.
[00:50:24.380 - 00:50:39.380] In the Netherlands, I hear every now and then about RC material to be used, but even still with the same requirements, which is for the moment, just impossible.
[00:50:41.380 - 00:50:42.380] Okay.
[00:50:42.380 - 00:50:45.380] But they're more on the, so recycled.
[00:50:45.380 - 00:50:46.380] Yes.
[00:50:46.380 - 00:50:51.380] But they're more on interestingly bio based standard polymers.
[00:50:51.380 - 00:51:01.380] So a bio based polyester or bio based polyethylene, um, which at the end, which at the end is the same as virgin material.
[00:51:01.380 - 00:51:02.380] Yeah.
[00:51:02.380 - 00:51:03.380] Yeah.
[00:51:03.380 - 00:51:04.380] Yeah.
[00:51:04.380 - 00:51:05.380] Yeah.
[00:51:05.380 - 00:51:06.380] It's the product itself.
[00:51:06.380 - 00:51:09.380] You can't tell if it's from, from corn or from, from crude oil.
[00:51:09.380 - 00:51:10.380] So.
[00:51:10.380 - 00:51:11.380] Yeah.
[00:51:11.380 - 00:51:12.380] Yeah.
[00:51:12.380 - 00:51:13.380] Okay.
[00:51:13.380 - 00:51:19.380] But for me, it was interesting because geo membranes is for me a new application of recycled content.
[00:51:19.380 - 00:51:21.380] So I learned already a lot.
[00:51:21.380 - 00:51:42.380] At this point I want to dig a bit with my polymer producers into the technical demands and then the norms of itself.
[00:51:42.380 - 00:51:54.380] And then who knows, within two, three, four years, because the world is spinning very, very fast around and at least we are prepared.
[00:51:54.380 - 00:52:02.380] And yeah, for me that was a good first intro session and who knows where we will be in a couple of years.
[00:52:02.380 - 00:52:06.380] As you said, just think about the bottles, the polyester bottles.
[00:52:06.380 - 00:52:14.380] Maybe there will be some rule like you have to use 30% of recycled materials, then the whole game changes.
[00:52:14.380 - 00:52:16.380] Yeah, yeah.
[00:52:18.380 - 00:52:21.380] Are there also other competitors already working on this?
[00:52:21.380 - 00:52:29.380] And let's say as a vision we want to be the first one offering a recycled solution or are you not aware of?
[00:52:29.380 - 00:52:43.380] Not that I'm aware. So there are some, to be frank, there are some competitors who are showing example cases where they did what we as well did.
[00:52:43.380 - 00:52:56.380] So using a geotextile or geosynthetic and recycled this particular geosynthetic in a same kind of geosynthetic.
[00:52:56.380 - 00:52:58.380] So that's what I'm aware of.
[00:52:58.380 - 00:53:08.380] So buying, especially consumer grade recycling materials, I'm not aware of, let's say it like that.
[00:53:08.380 - 00:53:09.380] Okay.
[00:53:09.380 - 00:53:10.380] We have.
[00:53:10.380 - 00:53:11.380] All right.
[00:53:11.380 - 00:53:25.380] Typically the assumption, and maybe that's the last word, the assumption of using recycled polyester is that this might be easier.
[00:53:25.380 - 00:53:45.380] Because as far as we have been described is that the recycling materials stream is much cleaner because it's the, if you use the bottles, the bottles are very well sorted by the consumer himself.
[00:53:45.380 - 00:54:02.380] And the material is very consistent and so on, which is just not the case for what you just described, PP and PE, which is more like packaging yogurt bins and so on.
[00:54:02.380 - 00:54:03.380] Yeah.
[00:54:03.380 - 00:54:12.380] So you will probably, the first, the first appearing recycled material product will probably be polyester.
[00:54:12.380 - 00:54:13.380] Yeah.
[00:54:13.380 - 00:54:17.380] If I would bet some money, that would be my bet.
[00:54:17.380 - 00:54:18.380] Yeah.
[00:54:18.380 - 00:54:26.380] But I can align as well that the post-consumer PT bottles are, yeah, it's only from bottles.
[00:54:26.380 - 00:54:31.380] So the, the variability of parameters are very, it's very narrow.
[00:54:31.380 - 00:54:36.380] Um, so I can understand what you're saying, Mark.
[00:54:36.380 - 00:54:37.380] Yeah.
[00:54:37.380 - 00:54:38.380] Yeah.
[00:54:38.380 - 00:54:39.380] Yeah.
[00:54:39.380 - 00:54:40.380] It's plus and minus, huh?
[00:54:40.380 - 00:54:44.380] So it's very narrow, but you know what you get.
[00:54:44.380 - 00:54:45.380] Yeah.
[00:54:45.380 - 00:54:46.380] Yeah.
[00:54:46.380 - 00:54:47.380] Yeah.
[00:54:47.380 - 00:54:48.380] Yeah.
[00:54:48.380 - 00:54:49.380] Yeah.
[00:54:49.380 - 00:54:50.380] Yeah.
[00:54:50.380 - 00:54:51.380] Very interesting for me as well.
[00:54:51.380 - 00:54:52.380] Thank you very much.
[00:54:52.380 - 00:54:58.380] No, thanks to, uh, the, the four of you, uh, for the interesting brainstorm.
[00:54:58.380 - 00:55:01.380] Although I have to admit, I was very astonished about the knowledge.
[00:55:01.380 - 00:55:03.380] For me, it was a bit of Chinese.
[00:55:03.380 - 00:55:08.380] So, um, uh, but, uh, you, you explained it very well.
[00:55:08.380 - 00:55:10.380] So, um, thanks for that.
[00:55:10.380 - 00:55:12.380] That's when you bring in two experts.
[00:55:12.380 - 00:55:13.380] Yeah.
[00:55:13.380 - 00:55:17.380] And we were like, no, but, uh, it's good.
[00:55:17.380 - 00:55:23.380] Uh, it's good to have at least a view on the market and where it would be going, uh,
[00:55:23.380 - 00:55:24.380] within the next couple of years.
[00:55:24.380 - 00:55:29.380] And indeed, as you said, if we're ready from our point of view or our stand, I think it's
[00:55:29.380 - 00:55:30.380] good.
[00:55:30.380 - 00:55:34.380] I'm pretty sure that there will be changes in the next upcoming years.
[00:55:34.380 - 00:55:39.380] Um, so on the regulation side, on the technical side, everything is developing fast.
[00:55:41.380 - 00:55:47.380] Um, with the situation in Middle East, maybe there will be a little more consequence in doing
[00:55:47.380 - 00:55:50.380] whatever net is necessary for recycling.
[00:55:50.380 - 00:55:59.380] If the oil is not that available anymore, that we are used to, or, um, in the worst, or even worse.
[00:55:59.380 - 00:56:05.380] The, the polymers made in Middle East can't leave Middle East.
[00:56:05.380 - 00:56:12.380] So yes, I expect that there will be some acceleration on that in the upcoming years.
[00:56:12.380 - 00:56:18.380] It always needs financial advantages or pressure to change things.
[00:56:19.380 - 00:56:21.380] Unfortunately, that's our world.
[00:56:21.380 - 00:56:22.380] Yep.
[00:56:24.380 - 00:56:25.380] All right.
[00:56:25.380 - 00:56:26.380] Okay.
[00:56:26.380 - 00:56:27.380] We won't.
[00:56:27.380 - 00:56:28.380] Thank you very much, everybody.
[00:56:28.380 - 00:56:29.380] Yes.
[00:56:29.380 - 00:56:30.380] Indeed.
[00:56:30.380 - 00:56:31.380] Yeah.
[00:56:31.380 - 00:56:32.380] Thanks for this interesting exchange.
[00:56:32.380 - 00:56:36.380] Let's, uh, stay connected with each other.
[00:56:36.380 - 00:56:37.380] Yes.
[00:56:37.380 - 00:56:42.380] And if there's some interest, uh, to, to prove some things, yeah, please do not hesitate to
[00:56:42.380 - 00:56:43.380] come back to us.
[00:56:44.380 - 00:56:51.380] And, uh, yeah, Dries, I think we will stay in contact, uh, now, anyhow, regarding the, uh,
[00:56:51.380 - 00:56:52.380] The upcoming tender.
[00:56:52.380 - 00:56:53.380] The upcoming tenders.
[00:56:53.380 - 00:56:54.380] Yeah.
[00:56:54.380 - 00:56:57.380] And to see what, where, where it brings us together then.
[00:56:57.380 - 00:56:58.380] Yes.
[00:56:58.380 - 00:56:59.380] Yes.
[00:56:59.380 - 00:56:59.380] Indeed.
[00:56:59.380 - 00:57:06.380] Normally end of this week, latest, beginning of next week, we will send out, uh, the tender.
[00:57:06.380 - 00:57:09.380] So we will keep you in, uh, in copy.
[00:57:09.380 - 00:57:10.380] All right.
[00:57:10.380 - 00:57:11.380] Good.
[00:57:11.380 - 00:57:12.380] All right.
[00:57:12.380 - 00:57:13.380] Good.
[00:57:13.380 - 00:57:13.920] All right.
+7 -18
View File
@@ -17,11 +17,12 @@ REPO_ROOT = Path(__file__).resolve().parents[1]
if str(REPO_ROOT) not in sys.path:
sys.path.insert(0, str(REPO_ROOT))
from src.meeting_lab.models.meeting_context import load_meeting_context # noqa: E402
from src.meeting_lab.protocol.history import persist_protocol_generation # noqa: E402
from src.meeting_lab.llm.ollama import DEFAULT_ENDPOINT # noqa: E402
from src.meeting_lab.protocol.generate_direct_protocol import ( # noqa: E402
DEFAULT_MODEL,
DEFAULT_SAFE_INPUT_TOKEN_BUDGET,
DirectProtocolResult,
generate_direct_protocol,
)
@@ -64,22 +65,6 @@ def write_json(path: Path, data: Any) -> None:
path.write_text(json.dumps(data, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")
def persist_result(run_dir: Path, result: DirectProtocolResult) -> Path:
protocol_dir = run_dir / "protocol"
protocol_dir.mkdir()
(protocol_dir / "exact_prompt.txt").write_text(result.exact_prompt, encoding="utf-8")
write_json(protocol_dir / "raw_response.json", result.raw_response)
write_json(protocol_dir / "runtime_metadata.json", result.runtime_metadata)
transcript_input = getattr(result, "transcript_input", None)
if transcript_input is not None:
(protocol_dir / "transcript_input.txt").write_text(
transcript_input, encoding="utf-8"
)
protocol_path = run_dir / "protocol.md"
protocol_path.write_text(result.protocol_text, encoding="utf-8")
return protocol_path
def run(args: argparse.Namespace) -> tuple[int, Path, Path | None]:
run_dir = create_unique_run_dir(args.output_root, args.transcript.stem)
timestamp = datetime.now().astimezone().isoformat(timespec="seconds")
@@ -129,7 +114,11 @@ def run(args: argparse.Namespace) -> tuple[int, Path, Path | None]:
endpoint=args.ollama_endpoint,
safe_input_token_budget=args.safe_input_token_budget,
)
protocol_path = persist_result(run_dir, result)
protocol_path = persist_protocol_generation(
run_dir,
result,
context=load_meeting_context(preserved_context) if preserved_context else None,
)
metadata["status"] = "completed"
metadata["final_protocol_path"] = str(protocol_path.resolve())
except Exception as exc:
+5
View File
@@ -62,6 +62,7 @@ def generate_once(
timeout: int,
num_ctx: int,
num_predict: int,
num_thread: int | None = None,
) -> OllamaGeneration:
payload = {
"model": model,
@@ -74,6 +75,10 @@ def generate_once(
"num_predict": num_predict,
},
}
if num_thread is not None:
if type(num_thread) is not int or num_thread <= 0:
raise ValueError("Protocol thread count must be a positive integer.")
payload["options"]["num_thread"] = num_thread
started = time.perf_counter()
try:
response = requests.post(generate_url(endpoint), json=payload, timeout=timeout)
+76 -29
View File
@@ -6,6 +6,7 @@ import json
import re
import shutil
import sys
import tempfile
import time
from collections.abc import Callable, Mapping, Sequence
from dataclasses import dataclass
@@ -28,11 +29,11 @@ from src.meeting_lab.models.meeting_context import (
write_meeting_context,
)
from src.meeting_lab.progress import ProgressEvent, ProgressSink, ProgressStatus
from src.meeting_lab.protocol.history import persist_protocol_generation
from src.meeting_lab.protocol.generate_direct_protocol import (
DEFAULT_MODEL,
DEFAULT_NUM_CTX,
DEFAULT_SAFE_INPUT_TOKEN_BUDGET,
DirectProtocolResult,
generate_direct_protocol,
load_compact_transcript,
)
@@ -56,12 +57,15 @@ class MvpMeetingConfig:
threads: str | int = "auto"
model: str = DEFAULT_MODEL
ollama_endpoint: str = DEFAULT_ENDPOINT
glossary_aliases: Mapping[str, str] | None = None
protocol_num_thread: int | None = None
protocol_num_ctx: int = DEFAULT_NUM_CTX
protocol_safe_input_token_budget: int = DEFAULT_SAFE_INPUT_TOKEN_BUDGET
diarization: str = "off"
diarization_runtime: str = "native"
diarization_container_image: str | None = None
diarization_container_args: Sequence[str] = ()
stop_after_diarization: bool = False
@dataclass(frozen=True)
@@ -77,6 +81,8 @@ def regenerate_mvp_protocol(
meeting_context: ContextInput,
model: str = DEFAULT_MODEL,
ollama_endpoint: str = DEFAULT_ENDPOINT,
glossary_aliases: Mapping[str, str] | None = None,
protocol_num_thread: int | None = None,
protocol_num_ctx: int = DEFAULT_NUM_CTX,
protocol_safe_input_token_budget: int = DEFAULT_SAFE_INPUT_TOKEN_BUDGET,
progress_sink: ProgressSink | None = None,
@@ -87,6 +93,10 @@ def regenerate_mvp_protocol(
context = _effective_context(meeting_context)
if context is None:
raise ValueError("Meeting Context is required for protocol regeneration.")
if protocol_num_thread is not None and (
type(protocol_num_thread) is not int or protocol_num_thread <= 0
):
raise ValueError("Protocol Ollama thread count must be a positive integer.")
if protocol_num_ctx <= 0:
raise ValueError("Protocol Ollama context size must be positive.")
if protocol_safe_input_token_budget <= 0:
@@ -102,20 +112,29 @@ def regenerate_mvp_protocol(
f"Existing run has no protocol transcript artifact: {run_dir}"
)
context_path = run_dir / "context" / "meeting_context.yaml"
write_meeting_context(context, context_path)
_emit(progress_sink, "protocol_generation", "started", started)
try:
result = generate_direct_protocol(
transcript_path,
context_path,
model=model,
endpoint=ollama_endpoint,
num_ctx=protocol_num_ctx,
safe_input_token_budget=protocol_safe_input_token_budget,
)
protocol_path = _persist_protocol(run_dir, result)
with tempfile.TemporaryDirectory(
prefix=".protocol-context-", dir=run_dir, ignore_cleanup_errors=True
) as temporary:
context_path = Path(temporary) / "meeting_context.yaml"
write_meeting_context(context, context_path)
result = generate_direct_protocol(
transcript_path,
context_path,
model=model,
endpoint=ollama_endpoint,
num_ctx=protocol_num_ctx,
num_thread=protocol_num_thread,
glossary_aliases=glossary_aliases,
safe_input_token_budget=protocol_safe_input_token_budget,
)
protocol_path = persist_protocol_generation(run_dir, result, context=context)
except Exception as exc:
_record_protocol_generation_attempt(
run_dir, status="failed", runtime_seconds=time.perf_counter() - started,
failure={"type": type(exc).__name__, "message": str(exc)},
)
_emit(
progress_sink,
"failed",
@@ -124,11 +143,40 @@ def regenerate_mvp_protocol(
message=f"protocol_generation: {type(exc).__name__}: {exc}",
)
raise
_record_protocol_generation_attempt(
run_dir, status="completed", runtime_seconds=time.perf_counter() - started
)
_emit(progress_sink, "protocol_generation", "completed", started)
_emit(progress_sink, "completed", "completed", started)
return MvpRunResult(0, run_dir, protocol_path)
def _record_protocol_generation_attempt(
run_dir: Path,
*,
status: str,
runtime_seconds: float,
failure: dict[str, str] | None = None,
) -> None:
"""Record downstream attempts without changing completed upstream artifacts."""
metadata_path = run_dir / "run_metadata.json"
if not metadata_path.is_file():
return
metadata = json.loads(metadata_path.read_text(encoding="utf-8"))
attempts = metadata.setdefault("protocol_generation_attempts", [])
if not isinstance(attempts, list):
attempts = metadata["protocol_generation_attempts"] = []
attempt: dict[str, Any] = {
"status": status,
"runtime_seconds": round(runtime_seconds, 3),
}
if failure is not None:
attempt["failure"] = failure
attempts.append(attempt)
metadata["status"] = "completed" if status == "completed" else "awaiting_speaker_review"
_write_json(metadata_path, metadata)
def create_unique_run_dir(
output_root: Path,
meeting_name: str,
@@ -191,6 +239,10 @@ def _validate_inputs(
raise ValueError("A diarization container image is required.")
if config.protocol_safe_input_token_budget <= 0:
raise ValueError("Protocol safe input token budget must be positive.")
if config.protocol_num_thread is not None and (
type(config.protocol_num_thread) is not int or config.protocol_num_thread <= 0
):
raise ValueError("Protocol Ollama thread count must be a positive integer.")
if config.protocol_num_ctx <= 0:
raise ValueError("Protocol Ollama context size must be positive.")
@@ -214,22 +266,6 @@ def _emit(
)
def _persist_protocol(run_dir: Path, result: DirectProtocolResult) -> Path:
protocol_dir = run_dir / "protocol"
protocol_dir.mkdir(exist_ok=True)
(protocol_dir / "exact_prompt.txt").write_text(result.exact_prompt, encoding="utf-8")
_write_json(protocol_dir / "raw_response.json", result.raw_response)
_write_json(protocol_dir / "runtime_metadata.json", result.runtime_metadata)
transcript_input = getattr(result, "transcript_input", None)
if transcript_input is not None:
(protocol_dir / "transcript_input.txt").write_text(
transcript_input, encoding="utf-8"
)
protocol_path = run_dir / "protocol.md"
protocol_path.write_text(result.protocol_text, encoding="utf-8")
return protocol_path
def run_mvp_meeting(
config: MvpMeetingConfig,
*,
@@ -417,6 +453,15 @@ def run_mvp_meeting(
)
_emit(progress_sink, "diarization", "completed", overall_started)
if config.stop_after_diarization:
metadata["status"] = "awaiting_speaker_review"
metadata["speaker_review"] = {
"status": "awaiting_optional_mapping",
"speaker_count": metadata["diarization"].get("speaker_count"),
}
_emit(progress_sink, "completed", "completed", overall_started)
return MvpRunResult(0, run_dir, None)
current_stage = "protocol_generation"
stage_started = time.perf_counter()
_emit(progress_sink, "protocol_generation", "started", overall_started)
@@ -426,10 +471,12 @@ def run_mvp_meeting(
model=config.model,
endpoint=config.ollama_endpoint,
num_ctx=config.protocol_num_ctx,
num_thread=config.protocol_num_thread,
glossary_aliases=config.glossary_aliases,
safe_input_token_budget=config.protocol_safe_input_token_budget,
)
stage_runtimes["protocol"] = round(time.perf_counter() - stage_started, 3)
protocol_path = _persist_protocol(run_dir, result)
protocol_path = persist_protocol_generation(run_dir, result, context=effective_context)
_emit(progress_sink, "protocol_generation", "completed", overall_started)
metadata["status"] = "completed"
_emit(progress_sink, "completed", "completed", overall_started)
@@ -3,6 +3,7 @@
from __future__ import annotations
import json
from collections.abc import Mapping
from dataclasses import dataclass
from pathlib import Path
from typing import Any, Callable
@@ -170,9 +171,11 @@ def generate_direct_protocol(
timeout: int = DEFAULT_TIMEOUT,
num_ctx: int = DEFAULT_NUM_CTX,
num_predict: int = DEFAULT_NUM_PREDICT,
num_thread: int | None = None,
safe_input_token_budget: int = DEFAULT_SAFE_INPUT_TOKEN_BUDGET,
model_check: Callable[[str, str, int], dict[str, Any]] = require_model,
generation_call: Callable[..., OllamaGeneration] = generate_once,
glossary_aliases: Mapping[str, str] | None = None,
) -> DirectProtocolResult:
transcript = _load_transcript_document(transcript_path)
context: MeetingContext | None = (
@@ -198,6 +201,7 @@ def generate_direct_protocol(
timeout=timeout,
num_ctx=num_ctx,
num_predict=num_predict,
num_thread=num_thread,
)
data = generation.raw_response
runtime_metadata = {
@@ -216,6 +220,7 @@ def generate_direct_protocol(
"think": False,
"num_ctx": num_ctx,
"num_predict": num_predict,
"num_thread": num_thread,
"selected_transcript_representation": selected.representation,
"estimated_input_tokens": selected.estimated_input_tokens,
"safe_input_token_budget": selected.safe_input_token_budget,
@@ -235,6 +240,8 @@ def generate_direct_protocol(
else None
),
"speaker_mapping_count": len(context.speaker_mappings) if context else 0,
"glossary_aliases_configured": dict(sorted((glossary_aliases or {}).items())),
"glossary_replacements": [],
}
return DirectProtocolResult(
protocol_text=generation.text,
+188
View File
@@ -0,0 +1,188 @@
"""Immutable protocol records with one atomic latest-generation publication."""
from __future__ import annotations
import fcntl
import json
import os
import shutil
import subprocess
import tempfile
from datetime import UTC, datetime
from pathlib import Path
from typing import Any
from uuid import uuid4
from src.meeting_lab.models.meeting_context import MeetingContext, write_meeting_context
from src.meeting_lab.protocol.generate_direct_protocol import DirectProtocolResult
_DIAGNOSTICS = (
"exact_prompt.txt",
"transcript_input.txt",
"raw_response.json",
"runtime_metadata.json",
)
def _git_provenance(repository: Path) -> dict[str, Any]:
provenance: dict[str, Any] = {"repository": str(repository), "sha": None, "dirty": None}
try:
provenance["sha"] = subprocess.check_output(
["git", "rev-parse", "HEAD"], cwd=repository, text=True, stderr=subprocess.DEVNULL
).strip()
provenance["dirty"] = bool(
subprocess.check_output(
["git", "status", "--porcelain"],
cwd=repository,
text=True,
stderr=subprocess.DEVNULL,
)
)
except (OSError, subprocess.SubprocessError):
pass
return provenance
def _write_json(path: Path, value: Any) -> None:
path.write_text(json.dumps(value, ensure_ascii=False, indent=2) + "\n", encoding="utf-8")
def _replace_link(path: Path, target: str) -> None:
"""Replace a link/file atomically; never write through an existing symlink."""
temporary = path.with_name(f".{path.name}-{uuid4().hex}")
try:
temporary.symlink_to(target)
os.replace(temporary, path)
finally:
temporary.unlink(missing_ok=True)
def _sync_record(directory: Path) -> None:
for path in directory.iterdir():
with path.open("rb") as stream:
os.fsync(stream.fileno())
descriptor = os.open(directory, os.O_RDONLY)
try:
os.fsync(descriptor)
finally:
os.close(descriptor)
def _legacy_generation(run_dir: Path, protocol_dir: Path, generations: Path) -> None:
"""Bootstrap old regular files before switching any compatibility paths."""
if (protocol_dir / "current").is_symlink() or not (run_dir / "protocol.md").is_file():
return
# Preserve the latest regular-file state even for runs created by an older
# history implementation. Never reuse or overwrite an existing record.
index = max(
(int(p.name) for p in generations.iterdir() if p.is_dir() and p.name.isdigit()),
default=0,
) + 1
legacy = generations / f"{index:03d}"
pending = Path(tempfile.mkdtemp(prefix=".legacy-", dir=generations))
try:
shutil.copyfile(run_dir / "protocol.md", pending / "protocol.md")
for name in _DIAGNOSTICS:
source = protocol_dir / name
if source.is_file():
shutil.copyfile(source, pending / name)
context = run_dir / "context/meeting_context.yaml"
if context.is_file():
shutil.copyfile(context, pending / "meeting_context.yaml")
_sync_record(pending)
pending.rename(legacy)
finally:
shutil.rmtree(pending, ignore_errors=True)
_replace_link(protocol_dir / "current", f"generations/{legacy.name}")
def _compatibility_links(run_dir: Path, protocol_dir: Path, pending: Path) -> None:
"""Install indirections while they still resolve to the previous generation."""
links = [(run_dir / "protocol.md", "protocol/current/protocol.md")]
links.extend((protocol_dir / name, f"current/{name}") for name in _DIAGNOSTICS)
if (pending / "meeting_context.yaml").is_file():
context_dir = run_dir / "context"
context_dir.mkdir(exist_ok=True)
links.append(
(context_dir / "meeting_context.yaml", "../protocol/current/meeting_context.yaml")
)
for path, target in links:
if not path.is_symlink() or os.readlink(path) != target:
_replace_link(path, target)
def persist_protocol_generation(
run_dir: Path,
result: DirectProtocolResult,
*,
context: MeetingContext | None,
) -> Path:
"""Publish a complete record; current is the sole successful-generation pointer.
Readers needing a multi-file snapshot should resolve current once. Relative
symlinks keep complete run directories movable. Writes are serialized locally.
"""
protocol_dir = run_dir / "protocol"
protocol_dir.mkdir(exist_ok=True)
generations = protocol_dir / "generations"
generations.mkdir(exist_ok=True)
with (protocol_dir / ".publication.lock").open("a") as lock:
fcntl.flock(lock, fcntl.LOCK_EX)
_legacy_generation(run_dir, protocol_dir, generations)
index = (
max(
(int(p.name) for p in generations.iterdir() if p.is_dir() and p.name.isdigit()),
default=0,
)
+ 1
)
destination = generations / f"{index:03d}"
pending = Path(tempfile.mkdtemp(prefix=".pending-", dir=generations))
published = False
try:
metadata = dict(result.runtime_metadata)
metadata.update(
{
"generation_index": index,
"generation_timestamp": datetime.now(UTC).isoformat(timespec="seconds"),
"source_run_id": run_dir.name,
"speaker_mapping": dict(sorted(context.speaker_mappings.items()))
if context
else {},
"speaker_mapping_names": {
label: context.participant_for_speaker(label).get("display_name", "")
for label in sorted(context.speaker_mappings)
if context.participant_for_speaker(label) is not None
}
if context
else {},
"git": {"meeting_lab": _git_provenance(Path(__file__).resolve().parents[3])},
}
)
(pending / "protocol.md").write_text(result.protocol_text, encoding="utf-8")
(pending / "exact_prompt.txt").write_text(result.exact_prompt, encoding="utf-8")
if result.transcript_input is not None:
(pending / "transcript_input.txt").write_text(
result.transcript_input, encoding="utf-8"
)
_write_json(pending / "raw_response.json", result.raw_response)
_write_json(pending / "runtime_metadata.json", metadata)
_write_json(pending / "model_metadata.json", result.model_metadata)
if context is not None:
write_meeting_context(context, pending / "meeting_context.yaml")
_sync_record(pending)
_compatibility_links(run_dir, protocol_dir, pending)
pending.rename(destination)
_replace_link(protocol_dir / "current", f"generations/{destination.name}")
published = True
finally:
shutil.rmtree(pending, ignore_errors=True)
# An interrupted process may leave an unreferenced complete record;
# never delete the record selected by current, even after interruption.
if (
not published
and destination.exists()
and (protocol_dir / "current").resolve() != destination
):
shutil.rmtree(destination, ignore_errors=True)
return run_dir / "protocol.md"
+20
View File
@@ -198,6 +198,23 @@ class OllamaTests(unittest.TestCase):
self.assertFalse(payload["stream"])
self.assertEqual(result.raw_response, raw)
def test_request_omits_num_thread_when_backend_selection_is_requested(self) -> None:
response = Mock()
response.raise_for_status.return_value = None
response.json.return_value = {"response": "# Meeting Protocol"}
with patch.object(ollama.requests, "post", return_value=response) as post:
ollama.generate_once(
"http://localhost:11434",
"qwen3.8:27b",
"prompt",
timeout=30,
num_ctx=32768,
num_predict=8192,
)
payload = post.call_args.kwargs["json"]
self.assertNotIn("num_thread", payload["options"])
def test_malformed_response_failure_without_retry(self) -> None:
response = Mock()
response.raise_for_status.return_value = None
@@ -237,6 +254,7 @@ class DirectProtocolCliTests(unittest.TestCase):
"transcript_input": "selected transcript\n",
"raw_response": {"response": protocol_text},
"runtime_metadata": {"request_count": 1},
"model_metadata": {},
})(),
) as generator:
code, run_dir, protocol_path = run_direct_protocol.run(args)
@@ -304,6 +322,8 @@ class DirectProtocolCliTests(unittest.TestCase):
"exact_prompt": "prompt",
"raw_response": {"response": "# Meeting Protocol"},
"runtime_metadata": {},
"model_metadata": {},
"transcript_input": None,
})()
with (
patch("src.meeting_lab.extraction.extract_chunks.extract_input") as extraction,
+124
View File
@@ -9,6 +9,9 @@ from unittest.mock import patch
from scripts import run_mvp_meeting as cli
from src.meeting_lab.audio import PreparedAudio
from src.meeting_lab.diarization.backend import DiarizationResult
from src.meeting_lab.llm.ollama import OllamaGeneration
from src.meeting_lab.protocol.generate_direct_protocol import generate_direct_protocol
from src.meeting_lab.models.meeting_context import load_meeting_context
from src.meeting_lab.orchestration import mvp as mvp_api
from src.meeting_lab.orchestration.mvp import MvpMeetingConfig, MvpRunResult
@@ -80,6 +83,27 @@ def fake_prepare(source, destination, **kwargs):
return PreparedAudio(source, source.suffix.removeprefix("."), destination, "ffmpeg", "ffmpeg")
def fake_diarize(audio, output, mode, **kwargs):
output.mkdir(parents=True, exist_ok=True)
metadata = output / "metadata.json"
ordinary = output / "diarization.rttm"
exclusive = output / "exclusive_diarization.rttm"
turns = output / "turns.json"
exclusive_turns = output / "exclusive_turns.json"
details = {"speaker_count": 2, "runtime_seconds": 0.1}
metadata.write_text(json.dumps(details), encoding="utf-8")
ordinary.write_text("", encoding="utf-8")
exclusive.write_text("", encoding="utf-8")
turns.write_text("[]", encoding="utf-8")
exclusive_turns.write_text(
json.dumps([
{"start": 0, "end": 0.5, "speaker_id": "SPEAKER_00"},
{"start": 0.5, "end": 1, "speaker_id": "SPEAKER_01"},
]), encoding="utf-8"
)
return DiarizationResult(output, metadata, ordinary, exclusive, turns, exclusive_turns, details)
def fake_protocol(transcript, context, **kwargs):
rendered_context = load_meeting_context(context)
assert rendered_context.meeting_id == "programmatic-test"
@@ -105,6 +129,26 @@ class MvpApiTests(unittest.TestCase):
model="test:model",
)
def test_post_diarization_checkpoint_skips_protocol_generation(self):
with tempfile.TemporaryDirectory() as directory:
root = Path(directory)
config = replace(self.config(root), diarization="cpu", stop_after_diarization=True)
with (
patch.object(mvp_api, "prepare_audio", side_effect=fake_prepare),
patch.object(mvp_api, "transcribe_audio", side_effect=fake_transcribe),
patch.object(mvp_api, "diarize_audio", side_effect=fake_diarize),
patch.object(mvp_api, "generate_direct_protocol") as generate,
):
result = mvp_api.run_mvp_meeting(config, meeting_context=context_data())
self.assertEqual(result.exit_code, 0)
self.assertIsNone(result.protocol_path)
generate.assert_not_called()
metadata = json.loads((result.run_dir / "run_metadata.json").read_text())
self.assertEqual(metadata["status"], "awaiting_speaker_review")
self.assertEqual(metadata["speaker_review"]["speaker_count"], 2)
self.assertTrue((result.run_dir / "diarization/transcript_diarized.json").is_file())
def test_programmatic_context_is_persisted_without_source_yaml(self):
with tempfile.TemporaryDirectory() as directory:
root = Path(directory)
@@ -116,6 +160,7 @@ class MvpApiTests(unittest.TestCase):
patch.object(
mvp_api, "generate_direct_protocol", side_effect=fake_protocol
) as protocol_generator,
patch("src.meeting_lab.protocol.history._git_provenance", return_value={}),
patch.object(subprocess, "run") as subprocess_run,
):
result = mvp_api.run_mvp_meeting(
@@ -202,6 +247,85 @@ class MvpApiTests(unittest.TestCase):
persisted = load_meeting_context(run_dir / "context/meeting_context.yaml")
self.assertEqual(persisted.speaker_mappings, {"SPEAKER_00": "person-1"})
def test_regeneration_keeps_glossary_out_of_transcript_and_in_context(self):
with tempfile.TemporaryDirectory() as directory:
run_dir = Path(directory)
diarization_dir = run_dir / "diarization"
diarization_dir.mkdir()
source = diarization_dir / "transcript_diarized.json"
source.write_text(
json.dumps(
{
"text": "SPEAKER_00: Lumini.",
"segments": [
{
"start": 0.0,
"end": 1.0,
"speaker_id": "SPEAKER_00",
"text": "Lumini.",
}
],
"speaker_labels_anonymous": True,
}
),
encoding="utf-8",
)
source_before = source.read_bytes()
transcript_dir = run_dir / "transcript"
transcript_dir.mkdir()
whisper_source = transcript_dir / "transcript.json"
whisper_source.write_text(
json.dumps({"text": "Lumini.", "segments": []}), encoding="utf-8"
)
whisper_source_before = whisper_source.read_bytes()
context = context_data()
context["known_entities"] = {
"Authoritative terminology": ["Luminy (aliases: Lumini)"]
}
def generate_without_network(transcript, context_path, **kwargs):
return generate_direct_protocol(
transcript,
context_path,
model=kwargs["model"],
num_ctx=kwargs["num_ctx"],
num_thread=kwargs["num_thread"],
safe_input_token_budget=kwargs["safe_input_token_budget"],
glossary_aliases=kwargs["glossary_aliases"],
model_check=lambda *_: {},
generation_call=lambda *_args, **_kwargs: OllamaGeneration(
raw_response={"response": "# Protocol", "done": True},
text="# Protocol",
client_wall_time_seconds=0.1,
),
)
with (
patch.object(
mvp_api,
"generate_direct_protocol",
side_effect=generate_without_network,
),
):
mvp_api.regenerate_mvp_protocol(
run_dir,
meeting_context=context,
glossary_aliases={"Lumini": "Luminy"},
)
generation = run_dir / "protocol"
transcript_input = (generation / "transcript_input.txt").read_text()
exact_prompt = (generation / "exact_prompt.txt").read_text()
metadata = json.loads((generation / "runtime_metadata.json").read_text())
self.assertIn("SPEAKER_00: Lumini.", transcript_input)
self.assertNotIn("SPEAKER_00: Luminy.", transcript_input)
self.assertIn("Luminy (aliases: Lumini)", exact_prompt)
self.assertIn("SPEAKER_00", exact_prompt)
self.assertIn("Test Person", exact_prompt)
self.assertEqual(metadata["glossary_replacements"], [])
self.assertEqual(source.read_bytes(), source_before)
self.assertEqual(whisper_source.read_bytes(), whisper_source_before)
def test_failure_emits_terminal_failure_event(self):
with tempfile.TemporaryDirectory() as directory:
root = Path(directory)
+169
View File
@@ -0,0 +1,169 @@
"""Publication fault injection without inference or audio processing."""
import json
import multiprocessing
import os
import tempfile
import unittest
from pathlib import Path
from unittest.mock import patch
from src.meeting_lab.models.meeting_context import create_meeting_context, load_meeting_context
from src.meeting_lab.protocol import history
from src.meeting_lab.orchestration import mvp
from src.meeting_lab.protocol.generate_direct_protocol import DirectProtocolResult
from tests import test_mvp_api as fixtures
def result(text):
return DirectProtocolResult(
protocol_text=text,
exact_prompt="prompt " + text,
transcript_input="Lumini original",
model_metadata={"name": "test"},
runtime_metadata={
"glossary_aliases_configured": {"Lumini": "Luminy"},
"glossary_replacements": [],
"num_thread": 10,
},
raw_response={"response": text},
)
def interrupt_publication(root):
original = history._replace_link
def interrupted(path, target):
if path.name == "current":
os._exit(77)
original(path, target)
history._replace_link = interrupted
history.persist_protocol_generation(
Path(root), result("new"), context=create_meeting_context(fixtures.context_data())
)
class HistoryTests(unittest.TestCase):
def setUp(self):
self.temporary = tempfile.TemporaryDirectory()
self.addCleanup(self.temporary.cleanup)
self.root = Path(self.temporary.name)
self.context = create_meeting_context(fixtures.context_data())
def persist(self, text):
return history.persist_protocol_generation(self.root, result(text), context=self.context)
def snapshot(self):
names = [
"protocol.md",
"context/meeting_context.yaml",
*["protocol/" + n for n in history._DIAGNOSTICS],
]
return {name: (self.root / name).read_bytes() for name in names}
def test_success_numbering_provenance_and_immutable_context(self):
self.persist("first")
first = self.snapshot()
self.persist("second")
self.assertEqual((self.root / "protocol.md").read_text(), "second")
old = self.root / "protocol/generations/001"
self.assertEqual((old / "protocol.md").read_bytes(), first["protocol.md"])
self.assertEqual(
(old / "meeting_context.yaml").read_bytes(), first["context/meeting_context.yaml"]
)
current = (self.root / "protocol/current").resolve()
self.assertEqual(current.name, "002")
metadata = json.loads((current / "runtime_metadata.json").read_text())
self.assertEqual(metadata["generation_index"], 2)
self.assertEqual(metadata["speaker_mapping"], self.context.speaker_mappings)
self.assertEqual(metadata["glossary_aliases_configured"], {"Lumini": "Luminy"})
self.assertEqual(metadata["glossary_replacements"], [])
self.assertEqual(metadata["num_thread"], 10)
self.assertEqual(metadata["source_run_id"], self.root.name)
self.assertEqual(
json.loads((current / "model_metadata.json").read_text()), {"name": "test"}
)
self.assertIn("sha", metadata["git"]["meeting_lab"])
self.assertEqual(
load_meeting_context(current / "meeting_context.yaml").data, self.context.data
)
for name in history._DIAGNOSTICS:
self.assertEqual((self.root / "protocol" / name).resolve(), current / name)
def test_failure_writing_record_preserves_previous(self):
self.persist("first")
before = self.snapshot()
with patch.object(history, "_write_json", side_effect=OSError("disk full")):
with self.assertRaises(OSError):
self.persist("second")
self.assertEqual(self.snapshot(), before)
self.persist("third")
self.assertEqual((self.root / "protocol/current").resolve().name, "002")
def test_failure_at_atomic_publication_preserves_all_stable_paths(self):
self.persist("first")
before = self.snapshot()
original = history.os.replace
def fail_current(source, destination):
if Path(destination).name == "current":
raise OSError("publication stopped")
original(source, destination)
with patch.object(history.os, "replace", side_effect=fail_current):
with self.assertRaises(OSError):
self.persist("second")
self.assertEqual(self.snapshot(), before)
self.assertFalse((self.root / "protocol/generations/002").exists())
def test_process_interruption_before_pointer_swap_preserves_current(self):
self.persist("first")
before = self.snapshot()
worker = multiprocessing.get_context("fork").Process(
target=interrupt_publication, args=(str(self.root),)
)
worker.start()
worker.join(timeout=10)
self.assertFalse(worker.is_alive())
self.assertEqual(worker.exitcode, 77)
self.assertEqual(self.snapshot(), before)
self.persist("third")
self.assertEqual((self.root / "protocol.md").read_text(), "third")
def test_legacy_migration_and_failure_during_link_conversion(self):
(self.root / "protocol").mkdir()
(self.root / "context").mkdir()
(self.root / "protocol.md").write_text("legacy")
for name in history._DIAGNOSTICS:
(self.root / "protocol" / name).write_text("legacy " + name)
(self.root / "context/meeting_context.yaml").write_text("legacy context")
before = self.snapshot()
original = history._replace_link
def fail_conversion(path, target):
if path.name == "raw_response.json":
raise OSError("link conversion stopped")
original(path, target)
with patch.object(history, "_replace_link", side_effect=fail_conversion):
with self.assertRaises(OSError):
self.persist("new")
self.assertEqual(self.snapshot(), before)
self.persist("new")
self.assertEqual((self.root / "protocol/generations/001/protocol.md").read_text(), "legacy")
self.assertEqual((self.root / "protocol/current").resolve().name, "002")
def test_failed_model_does_not_change_context_or_latest_generation(self):
self.persist("first")
before = self.snapshot()
(self.root / "transcript").mkdir()
(self.root / "transcript/transcript.json").write_text('{"text":"original"}')
different = fixtures.context_data()
different["speaker_mappings"] = {}
with patch.object(
mvp, "generate_direct_protocol", side_effect=RuntimeError("model stopped")
):
with self.assertRaises(RuntimeError):
mvp.regenerate_mvp_protocol(self.root, meeting_context=different)
self.assertEqual(self.snapshot(), before)
+58
View File
@@ -0,0 +1,58 @@
"""Protocol thread configuration through the public pipeline boundaries."""
import tempfile
import unittest
from dataclasses import replace
from pathlib import Path
from unittest.mock import Mock, patch
from src.meeting_lab.llm import ollama
from src.meeting_lab.orchestration import mvp
from tests import test_mvp_api as fixtures
class ProtocolThreadTests(unittest.TestCase):
def test_initial_and_regeneration_forward_default_and_explicit_threads(self):
for threads in (None, 4, 10, 16):
with self.subTest(threads=threads), tempfile.TemporaryDirectory() as directory:
config = replace(
fixtures.MvpApiTests().config(Path(directory)), protocol_num_thread=threads
)
with (
patch.object(mvp, "prepare_audio", side_effect=fixtures.fake_prepare),
patch.object(mvp, "transcribe_audio", side_effect=fixtures.fake_transcribe),
patch.object(
mvp, "generate_direct_protocol", side_effect=fixtures.fake_protocol
) as generate,
):
result = mvp.run_mvp_meeting(config, meeting_context=fixtures.context_data())
self.assertEqual(result.exit_code, 0)
self.assertEqual(generate.call_args.kwargs["num_thread"], threads)
mvp.regenerate_mvp_protocol(
result.run_dir,
meeting_context=fixtures.context_data(),
protocol_num_thread=threads,
)
self.assertEqual(generate.call_args.kwargs["num_thread"], threads)
def test_explicit_payload_and_invalid_values(self):
response = Mock()
response.json.return_value = {"response": "protocol"}
with patch.object(ollama.requests, "post", return_value=response) as post:
ollama.generate_once(
"url", "model", "prompt", timeout=1, num_ctx=32, num_predict=8, num_thread=10
)
self.assertEqual(post.call_args.kwargs["json"]["options"]["num_thread"], 10)
post.reset_mock()
for value in (0, -1, True, 1.5):
with self.assertRaises(ValueError):
ollama.generate_once(
"url",
"model",
"prompt",
timeout=1,
num_ctx=32,
num_predict=8,
num_thread=value,
)
post.assert_not_called()
+37
View File
@@ -137,6 +137,43 @@ class ProtocolInputBudgetTests(unittest.TestCase):
self.assertEqual(result.transcript_input, compact)
self.assertEqual(call.call_count, 1)
def test_glossary_aliases_do_not_mutate_protocol_input_or_source_artifact(
self,
) -> None:
with tempfile.TemporaryDirectory() as directory:
root = Path(directory)
document = {
"text": "Lumini und Carbofool.",
"segments": [
{
"start": 0.0,
"end": 1.0,
"speaker_id": "SPEAKER_00",
"text": "Lumini und Carbofool.",
}
],
"speaker_labels_anonymous": True,
}
transcript = self._write(root, document)
source_before = transcript.read_bytes()
result = generate_direct_protocol(
transcript,
glossary_aliases={"Lumini": "Luminy", "Carbofool": "Carbofol"},
model_check=Mock(return_value={}),
generation_call=Mock(return_value=completed_generation()),
)
self.assertEqual(transcript.read_bytes(), source_before)
self.assertIn("SPEAKER_00: Lumini und Carbofool.", result.transcript_input)
self.assertIn("SPEAKER_00: Lumini und Carbofool.", result.exact_prompt)
self.assertEqual(result.runtime_metadata["glossary_replacements"], [])
self.assertEqual(
result.runtime_metadata["glossary_aliases_configured"],
{"Carbofool": "Carbofol", "Lumini": "Luminy"},
)
def test_mapped_speakers_and_statements_reach_final_ollama_payload(self) -> None:
diarized = {
"text": "",